/* This file is part of jellything (https://codeberg.org/metamuffin/jellything) which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2026 metamuffin */ pub mod backends; pub mod indices; pub mod prefix_iterator; pub mod table; pub type Pad32 = u32; use jellycommon::jellyobject::Tag; pub struct Query { pub filter: Filter, pub sort: Sort, } pub enum Sort { None, Value(Vec), TextSearch(Path, String), } pub struct ValueSortComponent { pub order: SortOrder, pub path: Path, pub multi: MultiBehaviour, pub offset: Option>, } pub enum MultiBehaviour { First, ForEach, Max, Min, Count, } pub enum SortOrder { Ascending, Descending, } pub enum Filter { And(Vec), Or(Vec), Match(Path, Vec), Has(Path), } pub struct Path(pub Vec);