Functional helpers for working with a GraphQL AST
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
generate
src
.babelrc
.flowconfig
.gitignore
.npmignore
.travis.yml
CHANGELOG.md
README.md
api.md
package.json
yarn.lock

README.md

graphql-ast-types

Autogenerated helper functions for generating a GraphQL AST

This project generates helpers functions from the graphql/language AST flow descriptions. It is intended to help with building a valid GraphQL AST.

Getting Started

yarn add graphql-ast-types

import * as t from 'graphql-ast-types';

The implementation here mimics that of babel-types. Thanks Babel team.

Usage

The following is an example of how to build a simple query with AST types.

import * as t from 'graphql-ast-types';
import { print } from 'graphql/language';

const ast = t.document([
  t.operationDefinition(
    'query',
    t.selectionSet([
      t.field(t.name('foo')),
      t.field(t.name('bar'))
    ])
  )
]);

print(ast);

/*
query {
  foo
  bar
}
*/

In addition, method calls are validated for correctness and accompanied by is and assert helpers.

t.isName(t.name('Hello')); // true

t.isName({ kind: 'Name' }); // true
t.assert({ kind: 'Name' }); // no error

t.isName({ kind: 'IntValue' }); // false
t.assert({ kind: 'IntValue' }); // error

The full API can be found here.