luna_orm/
lib.rs

1//!
2//! # LUNA-ORM
3//! luna-orm is build for time saving
4//!
5//! **LUNA-ORM** is an async orm framework based on SQLx. Built with :heart:
6//! -  **Intuitive** : Simple API, the most simple orm in this world.
7//! -  **Time Saving** : Most useful API is implemented by default, no need to waste your life.
8//! -  **Smooth Transaction** : Transaction is almost same as normal.
9//! -  **Template SQL** : You can execute your own sql with no pain.
10//! -  **Dynamic Parameters** : Handle complex dynamic sql with default.
11//! -  **Truly Asynchronous** : Based on SQLx, luna-orm is fully async.
12//! -  **Error Soundly** : Every error has its meaning.
13//!
14//!
15
16#![allow(dead_code)]
17#![allow(async_fn_in_trait)]
18#![forbid(unsafe_code)]
19//#![feature(trait_upcasting)]
20//#![allow(incomplete_features)]
21
22mod command_executor;
23mod database;
24mod error;
25mod mapper;
26mod sql_executor;
27mod sql_generator;
28mod transaction;
29
30pub type LunaOrmResult<T> = std::result::Result<T, error::LunaOrmError>;
31
32pub mod prelude {
33    pub use crate::command_executor::CommandExecutor;
34    pub use crate::database::*;
35    pub use crate::error::*;
36    pub use crate::sql_executor::*;
37    pub use crate::sql_generator::*;
38    pub use crate::transaction::Transaction;
39    pub use luna_orm_macro::*;
40    pub use luna_orm_trait::*;
41    pub use sqlx::any::AnyArguments;
42    pub use sqlx::any::AnyRow;
43    pub use sqlx::Arguments;
44    pub use sqlx::Row;
45}