odatav4_parser/
lib.rs

1//! OData V4 Query String Parser
2//!
3//! This library parses OData V4 query strings into an AST and renders them
4//! into multiple SQL dialects (MSSQL, SQLite, SurrealQL, PostgreSQL).
5//!
6//! # Example
7//!
8//! ```
9//! use odatav4_parser::{parse, renderers::*};
10//!
11//! let query = "$select=id,name&$top=10&$skip=20";
12//! let options = parse(query).unwrap();
13//!
14//! let mssql = mssql::MssqlRenderer::new();
15//! println!("MSSQL: {}", mssql.render("users", &options));
16//!
17//! let sqlite = sqlite::SqliteRenderer::new();
18//! println!("SQLite: {}", sqlite.render("users", &options));
19//!
20//! let surrealql = surrealql::SurrealqlRenderer::new();
21//! println!("SurrealQL: {}", surrealql.render("users", &options));
22//!
23//! let postgresql = postgresql::PostgresqlRenderer::new();
24//! println!("PostgreSQL: {}", postgresql.render("users", &options));
25//! ```
26
27pub mod ast;
28pub mod error;
29pub mod lexer;
30pub mod parser;
31pub mod renderers;
32
33// Re-export main API
34pub use ast::QueryOptions;
35pub use error::{ODataError, Result};
36pub use parser::parse;