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

bjorn a0f08ff695 More parser tests; il y a 9 ans
tests a0f08ff695 More parser tests; il y a 9 ans
README.md c92a17306b Update README; il y a 9 ans
execute.lua 6154449287 Progress on execution; il y a 9 ans
package.lua 9f6aede587 Add package.lua; il y a 9 ans
parse.lua 52730f9544 Fix stripComments; il y a 9 ans
rules.lua 748f853fe9 Add util; il y a 9 ans
schema.lua 276b5b9bf6 Fix absent directives; il y a 9 ans
types.lua 31b56f7917 Fix boolean parsing; il y a 9 ans
util.lua 626a7995f4 Fix error message; il y a 9 ans
validate.lua 176c8b05fa Finish validation rules; il y a 9 ans

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