#![doc = include_str!("../README.md")]
use crate::registry::REGISTRY;
use prost_reflect::ReflectMessage;
mod any;
mod bool;
mod bytes;
mod duration;
mod r#enum;
mod field;
mod list;
mod map;
mod message;
mod number;
mod registry;
mod string;
mod timestamp;
mod utils;
pub trait ValidatorExt: Send + Sync {
fn validate(&self) -> prost_validate::Result<()>;
}
impl<T: ReflectMessage> ValidatorExt for T {
fn validate(&self) -> prost_validate::Result<()> {
validate(self)
}
}
pub fn validate<T: ReflectMessage>(msg: &T) -> prost_validate::Result<()> {
let msg = msg.transcode_to_dynamic();
REGISTRY.validate(&msg)
}