helpers

package
v0.8.3 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrExpectedStruct = fmt.Errorf("expected a struct")
)

Functions

func Create added in v0.8.0

func Create(t reflect.Type) reflect.Value

func Each

func Each(v any, cb func(v reflect.Value, pointer bool) error) error

func EachField

func EachField(v reflect.Value, cb func(sf reflect.StructField, fv reflect.Value) error) error

func FieldName

func FieldName(f reflect.StructField) string

func GetType added in v0.8.0

func GetType[T any]() reflect.Type

func GetValue

func GetValue(v any, key string) (any, bool)

func HasField

func HasField(v any, field string) bool

func Includes

func Includes[T comparable](arr []T, v T) bool

func NewOf added in v0.8.0

func NewOf[T any]() T

func PrimaryKey

func PrimaryKey(m any) []string

func PrimaryKeyValue added in v0.8.0

func PrimaryKeyValue(m any) []any

func RGetValue

func RGetValue(rv reflect.Value, key string) (any, bool)

Types

type PrimaryKeyer

type PrimaryKeyer interface {
	PrimaryKey() []string
}

type SQLResult

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

func Result

func Result() *SQLResult

func (*SQLResult) Add

func (r *SQLResult) Add(sqler ToSQLer) *SQLResult

func (*SQLResult) AddString

func (r *SQLResult) AddString(sql string) *SQLResult

func (*SQLResult) ToSQL

func (r *SQLResult) ToSQL(d dialects.Dialect) (string, []any, error)

type Tag

type Tag struct {
	Name          string
	Primary       bool
	AutoIncrement bool
	Readonly      bool
	Index         bool
	Unique        bool
	Type          dialects.DataType
}

func DBTag

func DBTag(f reflect.StructField) *Tag

type ToSQLFunc

type ToSQLFunc func(d dialects.Dialect) (string, []any, error)

func (ToSQLFunc) ToSQL

func (f ToSQLFunc) ToSQL(d dialects.Dialect) (string, []any, error)

type ToSQLer

type ToSQLer interface {
	ToSQL(d dialects.Dialect) (string, []any, error)
}

func Concat

func Concat(sqlers ...ToSQLer) ToSQLer

func Group

func Group(sqler ToSQLer) ToSQLer

func Identifier

func Identifier(i string) ToSQLer

func IdentifierList

func IdentifierList(strs []string) []ToSQLer

func Join

func Join[T ToSQLer](sqlers []T, sep string) ToSQLer

func Literal

func Literal(v any) ToSQLer

func LiteralList

func LiteralList(values []any) []ToSQLer

func Raw

func Raw(sql string, bindings ...any) ToSQLer

Jump to

Keyboard shortcuts

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