jsonlogic

package
v0.0.0-...-daf4bef Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2021 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllToSQL

func AllToSQL(s SQLizer, j []interface{}) ([]string, error)

AllToSQL converts all provided JSON logic queries to sql expressions

Types

type Operator

type Operator string

Operator is a jsonlogic query operator

const (
	// binary infix
	OperatorAdd                Operator = "+"
	OperatorMultiply           Operator = "*"
	OperatorSubtract           Operator = "-"
	OperatorDivide             Operator = "/"
	OperatorEqual              Operator = "=="
	OperatorNotEqual           Operator = "!="
	OperatorGreaterThan        Operator = ">"
	OperatorGreaterThanOrEqual Operator = ">="
	OperatorLessThan           Operator = "<"
	OperatorLessThanOrEqual    Operator = "<="

	// fn
	// https://sqlite.org/lang_corefunc.html
	OperatorSum      Operator = "sum"
	OperatorMax      Operator = "max"
	OperatorMin      Operator = "min"
	OperatorCount    Operator = "count"
	OperatorAvg      Operator = "avg"
	OperatorDistinct Operator = "distinct"
	OperatorLike     Operator = "like"
	OperatorGlob     Operator = "glob"
	OperatorRandom   Operator = "random"
	OperatorAbs      Operator = "abs"
	OperatorRound    Operator = "round"
	OperatorIif      Operator = "iif"
	OperatorTypeOf   Operator = "typeof"
	OperatorLower    Operator = "lower"
	OperatorUpper    Operator = "upper"
	OperatorSubstr   Operator = "substr"

	// conj
	OperatorAnd Operator = "and"
	OperatorOr  Operator = "or"

	// other
	OperatorVar          Operator = "var"
	OperatorOrderByAsc   Operator = "asc"
	OperatorOrderByDesc  Operator = "desc"
	OperatorExists       Operator = "exists"
	OperatorDoesNotExist Operator = "!exists"
	OperatorNot          Operator = "not"
	OperatorAs           Operator = "as"
)

type SQLizer

type SQLizer interface {
	ToSQL(j interface{}) (string, error)
}

SQLizer converts the provided JSON logic query to a sql expression

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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