Introducing Gqlts
Type safe Graphql query builder for TypeScript and Node.js
Gqlts generates a typed graphql client for your graphql api to use in browser or node.
This package is forked version from genql (opens in a new tab) It has been updated, fixed few bugs, actively adding features and updated dependencies and codebase to the latest packages
To use gqlts you first need to generate a sdk client for your graphql api.
Gqlts comes with built-in axios client and typed graphql query builder, file upload, subscription, batching, and more.
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 (opens in a new tab)
import { createClient, everything } from '@gqlts/my-lib'
const { data, errors, extensions } = await createClient().query({
User: {
name: true,
surname: true,
address: {
...everything,
}
}
});
// data.User
works in browser and node
Graphql queries written in code
Gqlts generates a graphql client with typescript types, giving you type safety and auto-completion
import { createClient, everything } from '@gqlts/my-lib'
const { data, errors, extensions } = await createClient().query({
User: {
name: true,
surname: true,
address: {
...everything,
}
}
})`;
// data.User
query {
User {
name
surname
address {
city
state
}
}
}`;