PromptModule

Struct PromptModule 

Source
pub struct PromptModule<Q> { /* private fields */ }
Expand description

A collection of questions and answers for previously answered questions.

Unlike prompt, this allows you to control how many questions you want to ask, and ask with previous answers as well.

Implementations§

Source§

impl<'a, Q> PromptModule<Q>
where Q: Iterator<Item = Question<'a>>,

Source

pub fn new<I>(questions: I) -> Self
where I: IntoIterator<IntoIter = Q, Item = Question<'a>>,

Creates a new PromptModule with the given questions

Source

pub fn with_answers(self, answers: Answers) -> Self

Creates a PromptModule with the given questions and answers

Source

pub fn prompt(&mut self) -> Result<Option<&mut Answer>>

Available on crate features crossterm or termion only.

Prompt a single question with the default Backend and EventIterator.

This may or may not actually prompt the question based on what when and ask_if_answered returns for that particular question.

Source

pub fn prompt_with<B, E>( &mut self, backend: &mut B, events: &mut E, ) -> Result<Option<&mut Answer>>
where B: Backend, E: EventIterator,

Prompt a single question with the given Backend and EventIterator.

This may or may not actually prompt the question based on what when and ask_if_answered returns for that particular question.

Source

pub fn prompt_all(self) -> Result<Answers>

Available on crate features crossterm or termion only.

Prompt all remaining questions with the default Backend and EventIterator.

It consumes self and returns the answers to all the questions asked.

Source

pub fn prompt_all_with<B, E>( self, backend: &mut B, events: &mut E, ) -> Result<Answers>
where B: Backend, E: EventIterator,

Prompt all remaining questions with the given Backend and EventIterator.

It consumes self and returns the answers to all the questions asked.

Source

pub fn into_answers(self) -> Answers

Consumes self returning the answers to the previously asked questions.

Trait Implementations§

Source§

impl<Q: Clone> Clone for PromptModule<Q>

Source§

fn clone(&self) -> PromptModule<Q>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Q: Debug> Debug for PromptModule<Q>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<Q: PartialEq> PartialEq for PromptModule<Q>

Source§

fn eq(&self, other: &PromptModule<Q>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Q> StructuralPartialEq for PromptModule<Q>

Auto Trait Implementations§

§

impl<Q> Freeze for PromptModule<Q>
where Q: Freeze,

§

impl<Q> RefUnwindSafe for PromptModule<Q>
where Q: RefUnwindSafe,

§

impl<Q> Send for PromptModule<Q>
where Q: Send,

§

impl<Q> Sync for PromptModule<Q>
where Q: Sync,

§

impl<Q> Unpin for PromptModule<Q>
where Q: Unpin,

§

impl<Q> UnwindSafe for PromptModule<Q>
where Q: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.