Crate json_eval_rs

Crate json_eval_rs 

Source
Expand description

JSON Eval RS - High-performance JSON Logic evaluation library

This library provides a complete implementation of JSON Logic with advanced features:

  • Pre-compilation of logic expressions for optimal performance
  • Mutation tracking via proxy-like data wrapper (EvalData)
  • All data mutations gated through EvalData for thread safety
  • Zero external logic dependencies (built from scratch)

Re-exports§

pub use rlogic::CompiledLogic;
pub use rlogic::CompiledLogicStore;
pub use rlogic::Evaluator;
pub use rlogic::LogicId;
pub use rlogic::RLogic;
pub use rlogic::RLogicConfig;
pub use rlogic::CompiledLogicId;
pub use rlogic::CompiledLogicStoreStats;
pub use table_metadata::TableMetadata;
pub use path_utils::ArrayMetadata;
pub use eval_data::EvalData;
pub use eval_cache::EvalCache;
pub use eval_cache::CacheKey;
pub use eval_cache::CacheStats;
pub use parsed_schema::ParsedSchema;
pub use parsed_schema_cache::ParsedSchemaCache;
pub use parsed_schema_cache::ParsedSchemaCacheStats;
pub use parsed_schema_cache::PARSED_SCHEMA_CACHE;

Modules§

eval_cache
eval_data
json_parser
parse_schema
parsed_schema
Parsed Schema - Reusable parsing results for caching across multiple JSONEval instances
parsed_schema_cache
path_utils
Path utilities for JSON pointer operations
rlogic
RLogic - High-performance JSON Logic compiler and evaluator
subform_methods
table_evaluate
table_metadata
topo_sort

Structs§

DependentItem
Dependent item structure for transitive dependency tracking
JSONEval
ValidationError
Validation error for a field
ValidationResult
Result of validation

Enums§

ReturnFormat
Return format for path-based methods

Functions§

clear_timing_data
Clear timing data
disable_timing
Disable timing
enable_timing
Enable timing programmatically (in addition to JSONEVAL_TIMING environment variable)
print_timing_summary
Print timing summary
version
Get the library version