github-pages-deploy-action/node_modules/@octokit/graphql/dist-src/graphql.js
2021-02-08 04:58:32 +00:00

35 lines
958 B
JavaScript

import { GraphqlError } from "./error";
const NON_VARIABLE_OPTIONS = [
"method",
"baseUrl",
"url",
"headers",
"request",
"query"
];
export function graphql(request, query, options) {
options =
typeof query === "string"
? (options = Object.assign({ query }, options))
: (options = query);
const requestOptions = Object.keys(options).reduce((result, key) => {
if (NON_VARIABLE_OPTIONS.includes(key)) {
result[key] = options[key];
return result;
}
if (!result.variables) {
result.variables = {};
}
result.variables[key] = options[key];
return result;
}, {});
return request(requestOptions).then(response => {
if (response.data.errors) {
throw new GraphqlError(requestOptions, {
data: response.data
});
}
return response.data.data;
});
}