What is @types/graphql?
@types/graphql provides TypeScript type definitions for the GraphQL JavaScript reference implementation. It allows developers to use GraphQL with TypeScript, ensuring type safety and better development experience.
What are @types/graphql's main functionalities?
Schema Definition
Defines a simple GraphQL schema with a single query field 'hello' that returns a string.
const { GraphQLSchema, GraphQLObjectType, GraphQLString } = require('graphql');
const schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: 'RootQueryType',
fields: {
hello: {
type: GraphQLString,
resolve() {
return 'Hello world!';
}
}
}
})
});
Type Definitions
Defines a GraphQL object type for a 'User' with 'id' and 'name' fields.
import { GraphQLObjectType, GraphQLString } from 'graphql';
const UserType = new GraphQLObjectType({
name: 'User',
fields: {
id: { type: GraphQLString },
name: { type: GraphQLString }
}
});
Query Execution
Executes a simple GraphQL query against a schema and logs the response.
import { graphql, buildSchema } from 'graphql';
const schema = buildSchema(`
type Query {
hello: String
}
`);
const root = { hello: () => 'Hello world!' };
graphql(schema, '{ hello }', root).then((response) => {
console.log(response);
});
Other packages similar to @types/graphql
graphql
The official GraphQL JavaScript reference implementation. It provides the core functionality for building GraphQL schemas and executing queries. Unlike @types/graphql, it does not include TypeScript type definitions.
apollo-server
A community-maintained GraphQL server that works with any GraphQL schema. It includes features like caching, subscriptions, and more. It can be used with TypeScript but requires additional type definitions.
type-graphql
A library that allows you to define your GraphQL schema using TypeScript classes and decorators. It provides a more integrated TypeScript experience compared to @types/graphql.
Installation
npm install --save @types/graphql
Summary
This package contains type definitions for graphql (https://github.com/graphql/graphql-js).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/graphql
Additional Details
- Last updated: Mon, 24 Jun 2019 19:44:13 GMT
- Dependencies: none
- Global values: none
Credits
These definitions were written by TonyYang https://github.com/TonyPythoneer, Caleb Meredith https://github.com/calebmer, Dominic Watson https://github.com/intellix, Firede https://github.com/firede, Kepennar https://github.com/kepennar, Mikhail Novikov https://github.com/freiksenet, Ivan Goncharov https://github.com/IvanGoncharov, Hagai Cohen https://github.com/DxCx, Ricardo Portugal https://github.com/rportugal, Tim Griesser https://github.com/tgriesser, Dylan Stewart https://github.com/dyst5422, Alessio Dionisi https://github.com/adnsio, Divyendu Singh https://github.com/divyenduz, Brad Zacher https://github.com/bradzacher, Curtis Layne https://github.com/clayne11, Jonathan Cardoso https://github.com/JCMais, Pavel Lang https://github.com/langpavel, Mark Caudill https://github.com/mc0, Martijn Walraven https://github.com/martijnwalraven, and Jed Mao https://github.com/jedmao.