Skip to main content

linkrs_core/
value.rs

1//! Value Module - Graph Database Value Type System
2//!
3//! This module provides the core value type system in the graph database.
4//!
5//! ## Module Structure
6//!
7//! - `null` - NullType definition
8//! - `value` - Value enum definition and basic methods
9//! - `value_compare` - Comparison logic (PartialEq, Eq, Ord, Hash)
10//! - `value_arithmetic` - Arithmetic/logical/bitwise operations
11//! - `value_convert` - Type conversion
12//! - `list` - List type
13//! - `date_time` - Date and time types
14//! - `decimal128` - Decimal128 high-precision numeric
15//! - `geography` - Geospatial types
16//! - `json` - JSON/JSONB types
17//! - `memory` - Memory estimation
18
19pub mod date_time;
20pub mod decimal128;
21pub mod geography;
22pub mod interval;
23pub mod json;
24pub mod list;
25pub mod memory;
26pub mod null;
27pub mod ordered_codec;
28pub mod uuid;
29pub mod value_arithmetic;
30pub mod value_compare;
31pub mod value_convert;
32pub mod value_def;
33pub mod vector;
34
35#[cfg(test)]
36mod serialization_roundtrip_test;
37
38// Re-export all public types
39pub use date_time::{DateTimeValue, DateValue, TimeValue};
40pub use decimal128::Decimal128Value;
41pub use geography::{
42    GeoJsonFeature, GeoJsonFeatureCollection, GeoJsonGeometry, Geography, GeographyValue,
43    LineStringValue, MultiLineStringValue, MultiPointValue, MultiPolygonValue, PolygonValue,
44};
45pub use interval::{IntervalError, IntervalValue};
46pub use json::{Json, JsonB, JsonError};
47pub use list::List;
48pub use null::NullType;
49pub use uuid::{UuidError, UuidValue};
50pub use value_def::{ArrayValue, StructValue, Value};
51pub use vector::VectorValue;