cr

package module
v0.0.0-...-f209468 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: MIT Imports: 7 Imported by: 3

README

Criteria

Installation

go get -u github.com/gowool/cr

License

Distributed under MIT License, please see license file within the code for more details.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DisableNormalize

func DisableNormalize()

func EnableNormalize

func EnableNormalize()

Types

type Condition

type Condition struct {
	Column   string
	Operator Operator
	Value    interface{}
}

type Criteria

type Criteria struct {
	Filter Filter
	SortBy SortBy
	Offset *int
	Size   *int
}

func New

func New(filter, sort string) *Criteria

func (*Criteria) GetOffset

func (c *Criteria) GetOffset() int

func (*Criteria) GetSize

func (c *Criteria) GetSize(def int) int

func (*Criteria) SetFilter

func (c *Criteria) SetFilter(filter Filter) *Criteria

func (*Criteria) SetOffset

func (c *Criteria) SetOffset(index int) *Criteria

func (*Criteria) SetSize

func (c *Criteria) SetSize(size int) *Criteria

func (*Criteria) SetSortBy

func (c *Criteria) SetSortBy(sort ...Sort) *Criteria

type Filter

type Filter struct {
	Operator   Operator
	Conditions []interface{}
}

func ParseFilter

func ParseFilter(filter string) (f Filter)

func (Filter) IsEmpty

func (f Filter) IsEmpty() bool

func (Filter) ToSQL

func (f Filter) ToSQL() (string, []interface{})

type Operator

type Operator string
const (
	OpEmpty Operator = ""

	OpAdd Operator = "+"
	OpSub Operator = "-"
	OpMul Operator = "*"
	OpDiv Operator = "/"
	OpMod Operator = "%"

	OpBitAnd  Operator = "&"
	OpBitOr   Operator = "|"
	OpBitExOr Operator = "^"

	OpEqual    Operator = "="
	OpNotEqual Operator = "<>"
	OpGt       Operator = ">"
	OpGte      Operator = ">="
	OpLt       Operator = "<"
	OpLte      Operator = "<="

	OpAddEquals Operator = "+="
	OpSubEquals Operator = "-="
	OpMulEquals Operator = "*="
	OpDivEquals Operator = "/="
	OpModEquals Operator = "%="

	OpBitAndEquals Operator = "&="
	OpBitExEquals  Operator = "^-="
	OpBitOrEquals  Operator = "|*="

	OpIS      Operator = "IS"
	OpALL     Operator = "ALL"
	OpAND     Operator = "AND"
	OpANY     Operator = "ANY"
	OpBETWEEN Operator = "BETWEEN"
	OpEXISTS  Operator = "EXISTS"
	OpIN      Operator = "IN"
	OpLIKE    Operator = "LIKE"
	OpILIKE   Operator = "ILIKE"
	OpSIMILAR Operator = "SIMILAR TO"
	OpNOT     Operator = "NOT"
	OpOR      Operator = "OR"
	OpSOME    Operator = "SOME"
)

func (Operator) Append

func (o Operator) Append(a Operator) Operator

func (Operator) Has

func (o Operator) Has(a Operator) bool

func (Operator) IsEmpty

func (o Operator) IsEmpty() bool

func (Operator) Prepend

func (o Operator) Prepend(a Operator) Operator

func (Operator) String

func (o Operator) String() string

type Sort

type Sort struct {
	Column string
	Order  string
}

func ParseSort

func ParseSort(sort string) (s []Sort)

func (Sort) String

func (s Sort) String() string

type SortBy

type SortBy []Sort

func (SortBy) String

func (by SortBy) String() string

func (SortBy) Strs

func (by SortBy) Strs() []string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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