README.md 737 B

GraphQL Lua

Lua implementation of GraphQL parser using LPeg. Experimental.

API

Parsing queries:

local parse = require 'parse'
local ast = parse [[
query getUser {
  firstName
  lastName
}
]]

Creating schemas:

local schema = require 'schema'
local types = require 'types'

local person = types.object {
  name = 'Person',
  fields = {
    firstName = types.string.nonNull
    lastName = types.string.nonNull
  }
}

local schema = schema.create {
  query = types.object {
    name = 'Query',
    fields = {
      person = person
    }
  }
}

Validating schemas:

local validate = require 'validate'
validate(schema, ast)

Running tests

lua tests/runner.lua

License

MIT