Skip to main content

aviso_validators/
lib.rs

1// (C) Copyright 2024- ECMWF and individual contributors.
2//
3// This software is licensed under the terms of the Apache Licence Version 2.0
4// which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5// In applying this licence, ECMWF does not waive the privileges and immunities
6// granted to it by virtue of its status as an intergovernmental organisation nor
7// does it submit to any jurisdiction.
8
9//! Field validation library for Aviso notification system
10//!
11//! This library provides validation handlers for different field types
12
13pub mod constraints;
14pub mod coordinate;
15pub mod date;
16pub mod enum_handler;
17pub mod expver;
18pub mod float;
19pub mod int;
20pub mod point;
21pub mod point_cloud;
22pub mod polygon;
23pub mod string;
24pub mod time;
25pub mod types;
26
27// Re-export main types for convenience
28pub use types::ValidationRules;
29
30// Re-export handlers
31pub use constraints::{
32    EnumConstraint, NumericConstraint, parse_enum_constraint, parse_float_constraint,
33    parse_int_constraint,
34};
35pub use coordinate::{
36    Coordinate, CoordinateError, coordinate_to_json, coordinates_to_json, parse_coordinate,
37};
38pub use date::DateHandler;
39pub use enum_handler::EnumHandler;
40pub use expver::ExpverHandler;
41pub use float::FloatHandler;
42pub use int::IntHandler;
43pub use point::PointHandler;
44pub use point_cloud::{
45    DEFAULT_MAX_POINTS, HARD_MAX_POINTS, MAX_SERIALIZED_POINT_CLOUD_BYTES, PointCloudError,
46    PointCloudHandler, ValidatedPointCloud,
47};
48pub use polygon::PolygonHandler;
49pub use string::StringHandler;
50pub use time::TimeHandler;