graphql

package
v0.0.0-...-c4e08cc Latest Latest
Warning

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

Go to latest
Published: May 5, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NullableInt64 = graphql.NewScalar(graphql.ScalarConfig{
	Name:        "NullableInt64",
	Description: "The `NullableInt64` type repesents a nullable SQL int64.",
	Serialize: func(value interface{}) interface{} {
		switch value := value.(type) {
		case sql.NullInt64:
			if value.Valid {
				return value.Int64
			}
		case *sql.NullInt64:
			v := *value
			if v.Valid {
				return v.Int64
			}
		}
		return nil
	},
	ParseValue: func(value interface{}) interface{} {
		switch value := value.(type) {
		case string:
			return newNullInt64(value)
		case *string:
			return newNullInt64(*value)
		default:
			return nil
		}
	},
	ParseLiteral: func(valueAST ast.Value) interface{} {
		switch valueAST := valueAST.(type) {
		case *ast.StringValue:
			return newNullInt64(valueAST.Value)
		default:
			return nil
		}
	},
})

NullableInt64 graphql *Scalar type based of NullString

View Source
var NullableString = graphql.NewScalar(graphql.ScalarConfig{
	Name:        "NullableString",
	Description: "The `NullableString` type repesents a nullable SQL string.",
	Serialize: func(value interface{}) interface{} {
		switch value := value.(type) {
		case sql.NullString:
			if value.Valid {
				return value.String
			}
		case *sql.NullString:
			v := *value
			if v.Valid {
				return v.String
			}
		}
		return nil
	},
	ParseValue: func(value interface{}) interface{} {
		switch value := value.(type) {
		case string:
			return newNullString(value)
		case *string:
			return newNullString(*value)
		default:
			return nil
		}
	},
	ParseLiteral: func(valueAST ast.Value) interface{} {
		switch valueAST := valueAST.(type) {
		case *ast.StringValue:
			return newNullString(valueAST.Value)
		default:
			return nil
		}
	},
})

NullableString graphql *Scalar type based of NullString

View Source
var NullableTime = graphql.NewScalar(graphql.ScalarConfig{
	Name:        "NullableTime",
	Description: "The `NullableTime` type repesents a nullable SQL time.",
	Serialize: func(value interface{}) interface{} {
		switch value := value.(type) {
		case sql.NullTime:
			if value.Valid {
				return value.Time.Format(time.RFC3339)
			}
		case *sql.NullTime:
			v := *value
			if v.Valid {
				return v.Time.Format(time.RFC3339)
			}
		}
		return nil
	},
	ParseValue: func(value interface{}) interface{} {
		switch value := value.(type) {
		case string:
			return newNullTime(value)
		case *string:
			return newNullTime(*value)
		default:
			return nil
		}
	},
	ParseLiteral: func(valueAST ast.Value) interface{} {
		switch valueAST := valueAST.(type) {
		case *ast.StringValue:
			return newNullTime(valueAST.Value)
		default:
			return nil
		}
	},
})

NullableTime graphql *Scalar type based of NullString

Functions

func Setup

func Setup(r chi.Router)

Setup GraphQL in gin engine

Types

type NullInt64

type NullInt64 struct {
	sql.NullInt64
}

NullInt64 is a special GraphQL version

type NullString

type NullString struct {
	sql.NullString
}

NullString scalar type for sql null string

type NullTime

type NullTime struct {
	sql.NullTime
}

NullTime scalar type for sql null string

Jump to

Keyboard shortcuts

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