338294f957
Adds ParseStringKSUIDAny, ParseBinaryKSUIDAny, BinaryKSUID.BinExpr, and ExprStringKSUIDs. Co-authored-by: Cursor <cursoragent@cursor.com>
36 lines
987 B
Go
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
|
|
}
|