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

bjorn 449a574932 Parse directives in fragment fields; há 9 anos atrás
tests 449a574932 Parse directives in fragment fields; há 9 anos atrás
README.md c92a17306b Update README; há 9 anos atrás
execute.lua 6154449287 Progress on execution; há 9 anos atrás
package.lua 9f6aede587 Add package.lua; há 9 anos atrás
parse.lua 449a574932 Parse directives in fragment fields; há 9 anos atrás
rules.lua 748f853fe9 Add util; há 9 anos atrás
schema.lua 276b5b9bf6 Fix absent directives; há 9 anos atrás
types.lua 31b56f7917 Fix boolean parsing; há 9 anos atrás
util.lua 626a7995f4 Fix error message; há 9 anos atrás
validate.lua 176c8b05fa Finish validation rules; há 9 anos atrás

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