@wener/console
Version:
Base console UI toolkit
22 lines (20 loc) • 691 B
text/typescript
import type { TypedDocumentNode } from '@graphql-typed-document-node/core';
import request from 'graphql-request';
import { getAccessToken } from '../../console/context';
import { getGraphQLUrl } from './getGraphQLUrl';
export function gqlr<TResult, TVariables>(
document: TypedDocumentNode<TResult, TVariables>,
...[variables]: TVariables extends Record<string, never> ? [] : [TVariables]
) {
let token = getAccessToken();
const headers: Record<string, string> = {};
if (token) {
headers['Authorization'] = `Bearer ${token}`;
}
return request({
url: getGraphQLUrl(),
document: document,
variables: variables ?? undefined,
requestHeaders: headers,
});
}