pkasila / graphql-request-fetch

Simple fetch-based GraphQL Client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@pkasila/graphql-request-fetch

npm package Build Status Downloads Issues Code Coverage Commitizen Friendly Semantic Release

Simple fetch-based GraphQL Client

Install

npm install @pkasila/graphql-request-fetch

Usage

Quickstart

import { request } from '@pkasila/graphql-request-fetch';

const query = `{
  Movie(title: "Inception") {
    releaseDate
    actors {
      name
    }
  }
}`

request('https://api.graph.cool/simple/v1/movies', query).then(data =>
  console.log(data)
)

API

GraphQLClient

constructor(url: string, options?: Options)

Constructs a new GraphQLClient

  • url - a GraphQL endpoint
  • options - options to query the GraphQL endpoint

rawRequest(query: string, variables?: Variables, options: RequestOptions)

Allows you to send a request and get a raw response.

  • query - a query to be sent to the GraphQL endpoint
  • variables - a dictionary of variables to be used with the query
  • options - caching options

request(query: string, variables?: Variables, options: RequestOptions)

Wraps rawRequest and returns data from the query response.

  • query - a query to be sent to the GraphQL endpoint
  • variables - a dictionary of variables to be used with the query
  • options - caching options

Types

Options

Refer to RequestInit's documentation.

RequestOptions

Specifies caching options for the response.

  • cache - is caching?
  • cacheKey (required if caching) - key for the Cache API
  • cacheTtl (required if caching) - TTL for the Cache API
  • cacheType (defaults to public) - cache-control: public or private
  • cacheOverride (defaults to false) - whether overrides server's Cache-Control header

Static functions (request, rawRequest)

Sometimes you just want to make GraphQL requests without any need in a custom GraphQLClient. @pkasila/graphql-request-fetch lets you use it that way using static functions. They will create GraphQLClient on their own.

To call them, you just need to specify your GraphQL endpoint first and then follow the same call as from GraphQLClient.request and GraphQLClient.rawRequest.

About

Simple fetch-based GraphQL Client

License:MIT License


Languages

Language:TypeScript 96.7%Language:Shell 3.3%