import { DocumentNode } from 'graphql'; import { request } from 'graphql-request'; import { print } from 'graphql/language/printer'; export interface GraphQlClient { query>(query: DocumentNode, variables?: V): Promise; } /** * A minimalistic GraphQL client for populating test data. */ export class SimpleGraphQLClient implements GraphQlClient { constructor(public apiUrl: string = '') {} query>(query: DocumentNode, variables: V): Promise { const queryString = print(query); return request(this.apiUrl, queryString, variables); } }