module aur pub enum SearchType { name name_desc maintainer depends make_depends opt_depends check_depends } pub fn (st SearchType) str() string { return match st { .name { 'name' } .name_desc { 'name-desc' } .maintainer { 'maintainer' } .depends { 'depends' } .make_depends { 'makedepends' } .opt_depends { 'optdepends' } .check_depends { 'checkdepends' } } } pub fn (c Client) search_by(arg string, st SearchType) ?[]Package { params := { 'v': '5' 'type': 'search' 'by': '$st' 'arg': arg } return c.request(params) }