1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! # datafake-rs
//!
//! A high-performance Rust library for generating realistic mock JSON data using JSONLogic-based configuration.
//!
//! ## Features
//!
//! - Generate fake data using a declarative JSON configuration
//! - Support for 50+ fake data types (names, emails, addresses, etc.)
//! - JSONLogic integration for conditional and dynamic data generation
//! - Variable system for reusing generated values across the schema
//! - Batch generation for creating multiple records efficiently
//!
//! ## Quick Start
//!
//! ```rust
//! use datafake_rs::DataGenerator;
//!
//! let config = r#"{
//! "schema": {
//! "id": {"fake": ["uuid"]},
//! "name": {"fake": ["name"]},
//! "email": {"fake": ["email"]}
//! }
//! }"#;
//!
//! let generator = DataGenerator::from_json(config).unwrap();
//! let data = generator.generate().unwrap();
//! println!("{}", data);
//! ```
//!
//! ## Configuration Structure
//!
//! The configuration JSON has three main sections:
//! - `metadata`: Optional metadata about the configuration (name, version, description)
//! - `variables`: Pre-generated values that can be referenced in the schema
//! - `schema`: The structure of the output JSON with fake data operators
//!
//! ## Supported Fake Data Types
//!
//! - **Identity**: `uuid`, `name`, `first_name`, `last_name`, `email`, `username`
//! - **Address**: `street_address`, `city`, `country_code`, `zip_code`, `latitude`, `longitude`
//! - **Company**: `company_name`, `industry`, `profession`, `catch_phrase`
//! - **Finance**: `bic`, `iban`, `credit_card_number`, `currency_code`
//! - **Numeric**: `u8`, `u16`, `u32`, `u64`, `i8`, `i16`, `i32`, `i64`, `f32`, `f64` (with optional ranges)
//! - **Text**: `word`, `sentence`, `paragraph`
//! - **Date/Time**: `datetime`, `date`, `time`
pub use ConfigParser;
pub use ;
pub use DataGenerator;
pub use ;