1use matchmaker::nucleo::{Worker, Indexed};
2use matchmaker::{Matchmaker, MatchError, Result};
3
4#[tokio::main]
5async fn main() -> Result<()> {
6 let items = vec!["item1", "item2", "item3"];
7
8 let worker = Worker::new_single_column();
9 worker.append(items);
10 let identifier = Indexed::identifier;
11
12 let mm = Matchmaker::new(worker, identifier);
13
14 match mm.pick().await {
15 Ok(v) => {
16 println!("{}", v[0]);
17 }
18 Err(err) => {
19 match err {
20 MatchError::Abort(1) => {
21 eprintln!("cancelled");
22 }
23 _ => {
24 eprintln!("Error: {err}");
25 }
26 }
27 }
28 }
29
30 Ok(())
31}