@commitspark/graphql-api
Version:
GraphQL API to store and manage structured data with Git
31 lines (27 loc) • 866 B
text/typescript
import {
ApolloExecuteOperationRequest,
getSchema,
GraphQLResponse,
postGraphQL,
SchemaResponse,
VariableValues,
} from './client'
import { GitAdapter } from '@commitspark/git-adapter'
import { ErrorCode, ErrorMetadata } from './graphql/errors'
interface Client {
postGraphQL<
TData = Record<string, unknown>,
TVariables extends VariableValues = VariableValues,
>(
ref: string,
request: ApolloExecuteOperationRequest<TData, TVariables>,
): Promise<GraphQLResponse<TData | null>>
getSchema(ref: string): Promise<SchemaResponse>
}
export { Client, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata }
export async function createClient(gitAdapter: GitAdapter): Promise<Client> {
return {
postGraphQL: (ref, request) => postGraphQL(gitAdapter, ref, request),
getSchema: (ref) => getSchema(gitAdapter, ref),
}
}