GraphQL implementation in Lua
#lua #graphql #server #library

bjorn ade60488ed Several parser bugfixes; 9 tahun lalu
tests a0f08ff695 More parser tests; 9 tahun lalu
README.md c92a17306b Update README; 9 tahun lalu
execute.lua 6154449287 Progress on execution; 9 tahun lalu
package.lua 9f6aede587 Add package.lua; 9 tahun lalu
parse.lua ade60488ed Several parser bugfixes; 9 tahun lalu
rules.lua 748f853fe9 Add util; 9 tahun lalu
schema.lua 276b5b9bf6 Fix absent directives; 9 tahun lalu
types.lua 31b56f7917 Fix boolean parsing; 9 tahun lalu
util.lua 626a7995f4 Fix error message; 9 tahun lalu
validate.lua 176c8b05fa Finish validation rules; 9 tahun lalu

README.md

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