Skip to main content

pjson_rs/parser/
mod.rs

1//! JSON parsing module: zero-copy lazy values, optional streaming
2//! partial-parse support, and the supporting buffer pool / aligned
3//! allocator infrastructure.
4
5#[cfg(feature = "partial-parse")]
6pub mod partial;
7
8#[cfg(feature = "partial-parse")]
9pub use partial::{
10    JiterConfig, JiterPartialParser, ParseDiagnostic, PartialJsonParser, PartialParseResult,
11    StreamingHint,
12};
13
14pub mod aligned_alloc;
15pub mod buffer_pool;
16pub mod simd;
17pub mod zero_copy;
18
19pub use aligned_alloc::{AlignedAllocator, aligned_allocator};
20pub use buffer_pool::{
21    BufferPool, BufferSize, PoolConfig, PooledBuffer, SimdType, global_buffer_pool,
22};
23pub use zero_copy::{IncrementalParser, LazyJsonValue, LazyParser, MemoryUsage, ZeroCopyParser};
24
25/// JSON value types for initial classification
26#[derive(Debug, Clone, Copy, PartialEq)]
27pub enum ValueType {
28    /// JSON object.
29    Object,
30    /// JSON array.
31    Array,
32    /// JSON string.
33    String,
34    /// JSON number (integer or float).
35    Number,
36    /// JSON boolean.
37    Boolean,
38    /// JSON null.
39    Null,
40}