Files
dbx/jet_expr.go
T
end 338294f957 feat(ksuid): add BinExpr, flexible parsers, and expression helpers
Adds ParseStringKSUIDAny, ParseBinaryKSUIDAny, BinaryKSUID.BinExpr, and
ExprStringKSUIDs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 18:49:19 -07:00

36 lines
987 B
Go

package dbx
import (
"fmt"
"github.com/go-jet/jet/v2/mysql"
)
// ExprValues converts a list of values to a list of Expression values using
// function f to transform the values (mysql.String for strings, mysql.Uint64, etc).
func ExprValues[T any](values []T, f func(T) Expression) []Expression {
expressions := make([]Expression, len(values))
for i, v := range values {
expressions[i] = f(v)
}
return expressions
}
// ExprStringers converts a list of fmt.Stringers to a list of Expression values.
func ExprStringers(values []fmt.Stringer) []Expression {
expressions := make([]Expression, len(values))
for i, v := range values {
expressions[i] = mysql.String(v.String())
}
return expressions
}
// ExprStringKSUIDs converts StringKSUID pointers to Jet string expressions.
func ExprStringKSUIDs(ids []*StringKSUID) []Expression {
expressions := make([]Expression, len(ids))
for i, id := range ids {
expressions[i] = mysql.String(id.String())
}
return expressions
}