Permalink
Cannot retrieve contributors at this time
106 lines (100 sloc)
3.62 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/@octokit/graphql/dist-web/index.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { request } from '@octokit/request'; | |
import { getUserAgent } from 'universal-user-agent'; | |
const VERSION = "4.8.0"; | |
function _buildMessageForResponseErrors(data) { | |
return (`Request failed due to following response errors:\n` + | |
data.errors.map((e) => ` - ${e.message}`).join("\n")); | |
} | |
class GraphqlResponseError extends Error { | |
constructor(request, headers, response) { | |
super(_buildMessageForResponseErrors(response)); | |
this.request = request; | |
this.headers = headers; | |
this.response = response; | |
this.name = "GraphqlResponseError"; | |
// Expose the errors and response data in their shorthand properties. | |
this.errors = response.errors; | |
this.data = response.data; | |
// 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 FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; | |
const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; | |
function graphql(request, query, options) { | |
if (options) { | |
if (typeof query === "string" && "query" in options) { | |
return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`)); | |
} | |
for (const key in options) { | |
if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) | |
continue; | |
return Promise.reject(new Error(`[@octokit/graphql] "${key}" 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 GraphqlResponseError(requestOptions, headers, 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 { GraphqlResponseError, graphql$1 as graphql, withCustomRequest }; | |
//# sourceMappingURL=index.js.map |