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

bjorn 276b5b9bf6 Fix absent directives; 9 jaren geleden
tests 0f494589a0 More tests; 9 jaren geleden
README.md c92a17306b Update README; 9 jaren geleden
execute.lua 6154449287 Progress on execution; 9 jaren geleden
package.lua 9f6aede587 Add package.lua; 9 jaren geleden
parse.lua a4e58d914c Clean up parse; 9 jaren geleden
rules.lua 748f853fe9 Add util; 9 jaren geleden
schema.lua 276b5b9bf6 Fix absent directives; 9 jaren geleden
types.lua 31b56f7917 Fix boolean parsing; 9 jaren geleden
util.lua 626a7995f4 Fix error message; 9 jaren geleden
validate.lua 176c8b05fa Finish validation rules; 9 jaren geleden

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