1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
pub mod dialoguer;
use crate::BuildableValue;
use crate::CollectionBuilder;
use crate::ValueBuilder;
/// A backend can be used to get builders for specific types
pub trait Backend {
type Error: Sized;
fn bool_builder(&self) -> Box<dyn ValueBuilder<Output = bool, Error = Self::Error>>;
fn u8_builder(&self) -> Box<dyn ValueBuilder<Output = u8, Error = Self::Error>>;
fn u16_builder(&self) -> Box<dyn ValueBuilder<Output = u16, Error = Self::Error>>;
fn u32_builder(&self) -> Box<dyn ValueBuilder<Output = u32, Error = Self::Error>>;
fn u64_builder(&self) -> Box<dyn ValueBuilder<Output = u64, Error = Self::Error>>;
fn u128_builder(&self) -> Box<dyn ValueBuilder<Output = u128, Error = Self::Error>>;
fn i8_builder(&self) -> Box<dyn ValueBuilder<Output = i8, Error = Self::Error>>;
fn i16_builder(&self) -> Box<dyn ValueBuilder<Output = i16, Error = Self::Error>>;
fn i32_builder(&self) -> Box<dyn ValueBuilder<Output = i32, Error = Self::Error>>;
fn i64_builder(&self) -> Box<dyn ValueBuilder<Output = i64, Error = Self::Error>>;
fn i128_builder(&self) -> Box<dyn ValueBuilder<Output = i128, Error = Self::Error>>;
fn usize_builder(&self) -> Box<dyn ValueBuilder<Output = usize, Error = Self::Error>>;
fn isize_builder(&self) -> Box<dyn ValueBuilder<Output = isize, Error = Self::Error>>;
fn f32_builder(&self) -> Box<dyn ValueBuilder<Output = f32, Error = Self::Error>>;
fn f64_builder(&self) -> Box<dyn ValueBuilder<Output = f64, Error = Self::Error>>;
fn char_builder(&self) -> Box<dyn ValueBuilder<Output = char, Error = Self::Error>>;
fn string_builder(&self) -> Box<dyn ValueBuilder<Output = String, Error = Self::Error>>;
fn option_builder<T: 'static + BuildableValue>(&self) -> Box<dyn CollectionBuilder<Output = Option<T>, Error = Self::Error>>;
fn vec_builder<T>(&self) -> Box<dyn CollectionBuilder<Output = Vec<T>, Error = Self::Error>>
where T: 'static + BuildableValue;
}
|