use crate::request::TemplateError;
use super::{Rule, context};
pub(super) fn template_error_to_span(
error: TemplateError,
span: pest::Span<'_>,
) -> pest::error::Error<Rule> {
pest::error::Error::new_from_span(
pest::error::ErrorVariant::CustomError {
message: error.to_string(),
},
span,
)
}
pub(super) fn template_error_to_collection_error(
error: TemplateError,
source: &str,
) -> pest::error::Error<Rule> {
pest::error::Error::new_from_span(
pest::error::ErrorVariant::CustomError {
message: error.to_string(),
},
pest::Span::new(source, 0, source.len()).unwrap(),
)
}
pub(super) fn prompt_error_to_span(
error: context::PromptInputError,
span: pest::Span<'_>,
) -> pest::error::Error<Rule> {
pest::error::Error::new_from_span(
pest::error::ErrorVariant::CustomError {
message: error.to_string(),
},
span,
)
}
pub(super) fn prompt_error_to_template_error(
request: &str,
error: context::PromptInputError,
) -> TemplateError {
TemplateError::PromptInput {
request: request.to_string(),
prompt: error.prompt().to_string(),
default: error.default().map(str::to_string),
}
}