在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):bjornbytes/graphql-lua开源软件地址(OpenSource Url):https://github.com/bjornbytes/graphql-lua开源编程语言(OpenSource Language):Lua 100.0%开源软件介绍(OpenSource Introduction):GraphQL LuaLua implementation of GraphQL. Installation
Examplelocal parse = require 'graphql.parse'
local schema = require 'graphql.schema'
local types = require 'graphql.types'
local validate = require 'graphql.validate'
local execute = require 'graphql.execute'
-- Parse a query
local ast = parse [[
query getUser($id: ID) {
person(id: $id) {
firstName
lastName
}
}
]]
-- Create a type
local Person = types.object {
name = 'Person',
fields = {
id = types.id.nonNull,
firstName = types.string.nonNull,
middleName = types.string,
lastName = types.string.nonNull,
age = types.int.nonNull
}
}
-- Create a schema
local schema = schema.create {
query = types.object {
name = 'Query',
fields = {
person = {
kind = Person,
arguments = {
id = types.id
},
resolve = function(rootValue, arguments)
if arguments.id ~= 1 then return nil end
return {
id = 1,
firstName = 'Bob',
lastName = 'Ross',
age = 52
}
end
}
}
}
}
-- Validate a parsed query against a schema
validate(schema, ast)
-- Execution
local rootValue = {}
local variables = { id = 1 }
local operationName = 'getUser'
execute(schema, ast, rootValue, variables, operationName)
--[[
{
person = {
firstName = 'Bob',
lastName = 'Ross'
}
}
]] Status
Running testslua tests/runner.lua LicenseMIT |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论