elicitor_types/
lib.rs

1//! Core types for the derive-survey crate.
2//!
3//! This crate provides the foundational types for defining surveys:
4//! - `SurveyDefinition` - The top-level survey structure
5//! - `Question` and `QuestionKind` - Individual questions and their types
6//! - `Responses` and `ResponsePath` - Collected data and path-based keys
7//! - `Survey` and `SurveyBackend` traits - For implementing surveys and backends
8
9mod response_path;
10pub use response_path::ResponsePath;
11
12mod response_value;
13pub use response_value::ResponseValue;
14
15mod responses;
16pub use responses::{ResponseError, Responses};
17
18mod default_value;
19pub use default_value::DefaultValue;
20
21mod question;
22pub use question::{
23    AllOfQuestion, AnyOfQuestion, ConfirmQuestion, FloatQuestion, InputQuestion, IntQuestion,
24    ListElementKind, ListQuestion, MaskedQuestion, MultilineQuestion, OneOfQuestion, Question,
25    QuestionKind, SELECTED_VARIANT_KEY, SELECTED_VARIANTS_KEY, Variant,
26};
27
28mod survey_definition;
29pub use survey_definition::SurveyDefinition;
30
31mod error;
32pub use error::SurveyError;
33
34mod traits;
35pub use traits::{Survey, SurveyBackend};