Skip to main content

continuity_runtime/
validation.rs

1use crate::error::{ContinuityValidationError, ContinuityValidationResult};
2
3pub(crate) fn require_non_empty(value: &str, field: &'static str) -> ContinuityValidationResult {
4    if value.trim().is_empty() {
5        return Err(ContinuityValidationError::MissingField(field));
6    }
7    Ok(())
8}
9
10pub(crate) fn require_non_empty_slice<T>(
11    values: &[T],
12    field: &'static str,
13) -> ContinuityValidationResult {
14    if values.is_empty() {
15        return Err(ContinuityValidationError::MissingField(field));
16    }
17    Ok(())
18}
19
20pub(crate) fn require_schema_version(
21    found: &str,
22    expected: &'static str,
23) -> ContinuityValidationResult {
24    if found != expected {
25        return Err(ContinuityValidationError::SchemaVersionMismatch {
26            expected,
27            found: found.to_string(),
28        });
29    }
30    Ok(())
31}