| // pkg/dist-src/index.js |
| import { request } from "@octokit/request"; |
| import { getUserAgent } from "universal-user-agent"; |
| |
| // pkg/dist-src/version.js |
| var VERSION = "7.0.2"; |
| |
| // pkg/dist-src/with-defaults.js |
| import { request as Request2 } from "@octokit/request"; |
| |
| // pkg/dist-src/graphql.js |
| import { request as Request } from "@octokit/request"; |
| |
| // pkg/dist-src/error.js |
| function _buildMessageForResponseErrors(data) { |
| return `Request failed due to following response errors: |
| ` + data.errors.map((e) => ` - ${e.message}`).join("\n"); |
| } |
| var GraphqlResponseError = class extends Error { |
| constructor(request2, headers, response) { |
| super(_buildMessageForResponseErrors(response)); |
| this.request = request2; |
| this.headers = headers; |
| this.response = response; |
| this.name = "GraphqlResponseError"; |
| this.errors = response.errors; |
| this.data = response.data; |
| if (Error.captureStackTrace) { |
| Error.captureStackTrace(this, this.constructor); |
| } |
| } |
| }; |
| |
| // pkg/dist-src/graphql.js |
| var NON_VARIABLE_OPTIONS = [ |
| "method", |
| "baseUrl", |
| "url", |
| "headers", |
| "request", |
| "query", |
| "mediaType" |
| ]; |
| var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"]; |
| var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/; |
| function graphql(request2, 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; |
| }, {}); |
| const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl; |
| if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) { |
| requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql"); |
| } |
| return request2(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; |
| }); |
| } |
| |
| // pkg/dist-src/with-defaults.js |
| function withDefaults(request2, newDefaults) { |
| const newRequest = request2.defaults(newDefaults); |
| const newApi = (query, options) => { |
| return graphql(newRequest, query, options); |
| }; |
| return Object.assign(newApi, { |
| defaults: withDefaults.bind(null, newRequest), |
| endpoint: newRequest.endpoint |
| }); |
| } |
| |
| // pkg/dist-src/index.js |
| var graphql2 = 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, |
| graphql2 as graphql, |
| withCustomRequest |
| }; |