Versions in this module Expand all Collapse all v0 v0.0.2 Jan 15, 2026 Changes in this version type Builder + func (*Builder[T]) Not(filter *Filter) *Filter type FieldBuilder + func (fb *FieldBuilder[T]) Contains(value any) *Filter + func (fb *FieldBuilder[T]) Like(pattern string) *Filter + func (fb *FieldBuilder[T]) Nin(values ...any) *Filter type Op + const Contains + const Like + const Nin + const Not v0.0.1 Jan 14, 2026 Changes in this version + var ErrFieldNotFound = errors.New("vecna: field not found") + var ErrInvalidFilter = errors.New("vecna: invalid filter") + var ErrNotStruct = errors.New("vecna: type must be a struct") + type Builder struct + func New[T any]() (*Builder[T], error) + func (*Builder[T]) And(filters ...*Filter) *Filter + func (*Builder[T]) Or(filters ...*Filter) *Filter + func (b *Builder[T]) FromSpec(spec *FilterSpec) *Filter + func (b *Builder[T]) Spec() Spec + func (b *Builder[T]) Where(field string) *FieldBuilder[T] + type FieldBuilder struct + func (fb *FieldBuilder[T]) Eq(value any) *Filter + func (fb *FieldBuilder[T]) Gt(value any) *Filter + func (fb *FieldBuilder[T]) Gte(value any) *Filter + func (fb *FieldBuilder[T]) In(values ...any) *Filter + func (fb *FieldBuilder[T]) Lt(value any) *Filter + func (fb *FieldBuilder[T]) Lte(value any) *Filter + func (fb *FieldBuilder[T]) Ne(value any) *Filter + type FieldKind uint8 + const KindBool + const KindFloat + const KindInt + const KindSlice + const KindString + const KindUnknown + func (k FieldKind) String() string + type FieldSpec struct + GoName string + Kind FieldKind + Name string + type Filter struct + func (f *Filter) Children() []*Filter + func (f *Filter) Err() error + func (f *Filter) Field() string + func (f *Filter) Op() Op + func (f *Filter) Value() any + type FilterSpec struct + Children []*FilterSpec + Field string + Op string + Value any + type Op uint8 + const And + const Eq + const Gt + const Gte + const In + const Lt + const Lte + const Ne + const Or + func (o Op) String() string + type Spec struct + Fields []FieldSpec + TypeName string + func (s *Spec) Field(name string) *FieldSpec