helpers

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

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 GetTable

func GetTable(m any) string

func GetTableSingular

func GetTableSingular(m any) string

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 PrimaryKey

func PrimaryKey(m any) []string

func RGetValue

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

Types

type PrimaryKeyer

type PrimaryKeyer interface {
	PrimaryKey() []string
}

type QueryExecer

type QueryExecer interface {
	sqlx.QueryerContext
	sqlx.ExecerContext
}

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 Tabler

type Tabler interface {
	Table() string
}

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