gqlgen-runtime
TypeScript icon, indicating that this package has built-in type declarations

4.0.2 • Public • Published




Type safe Graphql query builder

Write Graphql queries with type validation and auto-completion with batteries included



This package is forked version from genql

It has been updated, fixed few bugs, actively adding features and updated dependencies and codebase to the latest packages

Read the quick start guide to generate a client locally

Features

  • Type completion
  • Type validation
  • Easily fetch all fields in a type
  • Support subscription ( ws, graphql-ws, observable, etc )
  • Built in file upload support
  • Graphql Client built in
  • Works with any client
  • Works in node and the browser
  • Built in Axios Client, and exported to extend with interceptors.
  • Client Operation support for Axios configuration, such as headers, timeout, cancelToken, abortSignal, etc.
  • Support batching queries
  • Consistent response format { data, errors, extensions }

Find more server-client examples in the examples repo You will find multiple examples with different tools of building schema, query, mutation, websocket subscriptions and more.

Example usage

First generate your client executing

npm i -D @gqlts/cli # cli to generate the client code
npm i @gqlts/runtime graphql # runtime dependencies
gqlts --schema ./schema.graphql --output ./generated

Then you can use your client as follows

import { createClient, everything } from './generated'
const client = createClient()

client
  .query({
    countries: {
      name: true,
      code: true,
      nestedField: {
        ...everything, // same as __scalar: true
      },
    },
  })
  .then(console.log)

The code above will fetch the graphql query below

query {
  countries {
    name
    code
    nestedField {
      scalarField1
      scalarField2
    }
  }
}

Licensed under MIT.

Package Sidebar

Install

npm i gqlgen-runtime

Weekly Downloads

64

Version

4.0.2

License

MIT

Unpacked Size

246 kB

Total Files

128

Last publish

Collaborators

  • blujosi