gqlh

package
v0.0.0-...-d986d38 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsCloser

func IsCloser(value reflect.Value) io.Closer

IsCloser 判断该值是否时实现了 io.Closer 接口 如果实现,则返回 ioCloser 结构 否则返回 nil

Types

type Field

type Field struct {
	Name     string
	JSONName string // 适用于结构字段
	Prop     *utils.TypeProp
}

Field 字段,参数,结构字段等等

type Inject

type Inject struct {
	// contains filtered or unexported fields
}

Inject 注入结构

func NewInject

func NewInject() *Inject

NewInject 创建注入管理器

func (*Inject) FindInject

func (ij *Inject) FindInject(typ reflect.Type) *InjectInfo

FindInject 根据类型查找注入信息

func (*Inject) Inject

func (ij *Inject) Inject(injectFn interface{})

Inject 注入函数

func (*Inject) StoreContext

func (ij *Inject) StoreContext(ctx context.Context, r *http.Request, root map[string]interface{})

StoreContext 存储Conext 和 Request,以备注入时使用

type InjectInfo

type InjectInfo struct {
	ReturnType reflect.Type    // 返回类型
	Fn         reflect.Value   // 生成注入对象的函数
	FnInfo     *utils.FuncInfo // 函数的信息
}

InjectInfo 注入对象结构

func (*InjectInfo) CallFn

CallFn 调用注入函数

type InputValidator

type InputValidator struct {
	// contains filtered or unexported fields
}

InputValidator 输入参数验证

func (*InputValidator) ParseInput

func (v *InputValidator) ParseInput(param *graphql.ResolveParams, arg *RequestObject) (reflect.Value, error)

ParseInput 解析输入参数

func (*InputValidator) ParseInput1

func (v *InputValidator) ParseInput1(param *graphql.ResolveParams, arg *RequestObject) (reflect.Value, error)

ParseInput1 解析输入参数

func (*InputValidator) Requires

func (v *InputValidator) Requires(params ...string)

Requires 必须参数

type RegisterInfo

type RegisterInfo struct {
	Type    string
	Package string
	Struct  string
	Func    string
	Error   string
}

RegisterInfo 注册状态

type RequestObject

type RequestObject struct {
	Object graphql.Input
	Param  *Field   // 对应的参数
	Name   string   // 结构名称
	Fields []*Field // 结构中的字段列表
}

RequestObject 请求的参数对象定义

type RequestObjectManager

type RequestObjectManager struct {
	// contains filtered or unexported fields
}

RequestObjectManager 请求对象管理

func NewRequestObjectManager

func NewRequestObjectManager() *RequestObjectManager

NewRequestObjectManager 创建管理器

func (*RequestObjectManager) FindOrRegisterObject

func (objm *RequestObjectManager) FindOrRegisterObject(field *Field, name string) *RequestObject

FindOrRegisterObject 查找查询对象,如果找不到则注册

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver 查询和操作函数定义

func (*Resolver) CreateField

func (r *Resolver) CreateField() *graphql.Field

CreateField 创建操作对象

type ResolverManager

type ResolverManager struct {
	// contains filtered or unexported fields
}

ResolverManager 管理器

func NewMutationResolverManager

func NewMutationResolverManager(inject *Inject,
	responseObjectManager *ResponseObjectManager,
	requestObjectManager *RequestObjectManager) *ResolverManager

NewMutationResolverManager 创建操作管理器

func NewQueryResolverManager

func NewQueryResolverManager(inject *Inject,
	responseObjectManager *ResponseObjectManager,
	requestObjectManager *RequestObjectManager) *ResolverManager

NewQueryResolverManager 创建查询操作管理器

func (*ResolverManager) CreateResolveObject

func (rm *ResolverManager) CreateResolveObject() *graphql.Object

CreateResolveObject 创建查询对象结构

func (*ResolverManager) RegisterResolver

func (rm *ResolverManager) RegisterResolver(fn *def.FuncInfo,

	validateFn ValidatorFn) *RegisterInfo

RegisterResolver 注册函数

func (*ResolverManager) TryParseResolver

func (rm *ResolverManager) TryParseResolver(fn *def.FuncInfo,

	inputCheckFn ValidatorFn) (*Resolver, error)

TryParseResolver 尝试把函数解析为 Resolver

type ResponseObject

type ResponseObject struct {
	Object graphql.Output
	Param  *Field // 对应的参数
}

ResponseObject 返回对象说明定义

type ResponseObjectManager

type ResponseObjectManager struct {
	// contains filtered or unexported fields
}

ResponseObjectManager 请求对象管理

func NewResponseObjectManager

func NewResponseObjectManager() *ResponseObjectManager

NewResponseObjectManager 创建管理器

func (*ResponseObjectManager) FindOrRegisterObject

func (objm *ResponseObjectManager) FindOrRegisterObject(field *Field) *ResponseObject

FindOrRegisterObject 查找查询对象,如果找不到则注册

type ValidatorFn

type ValidatorFn func(paramName string, paramValue interface{}, inputParam graphql.ResolveParams) error

ValidatorFn 自定义验证函数

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL