[workspace]
members = [
    ".",
    "rbatis-core",
    "rbatis-macro-driver",
    "example"
]

[package]
name = "rbatis"
version = "1.8.58"
description = "Rust ORM Framework High Performance(JSON based)"
readme = "Readme.md"
authors = ["ce <zhuxiujia@qq.com>"]
edition = "2018"
license = "Apache-2.0"
documentation = "https://rbatis.github.io/rbatis.io/#/"
repository = "https://github.com/rbatis/rbatis"
homepage = "https://rbatis.github.io/rbatis.io/#/"

[features]
default = ["async-io"]

# debug_mode feature will show decode json data
debug_mode = ["rbatis-core/debug_mode"]

#runtime-all-database
actix = ["rbatis-core/actix"]
tokio02 = ["rbatis-core/tokio02"]
tokio03 = ["rbatis-core/tokio03"]
async-io = ["rbatis-core/async-io"]
#async_std-database
async-io-mysql = ["rbatis-core/async-io-mysql"]
async-io-postgres = ["rbatis-core/async-io-postgres"]
async-io-sqlite = ["rbatis-core/async-io-sqlite"]
async-io-mssql = ["rbatis-core/async-io-mssql"]
#tokio03-database
tokio03-mysql = ["rbatis-core/tokio03-mysql"]
tokio03-postgres = ["rbatis-core/tokio03-postgres"]
tokio03-sqlite = ["rbatis-core/tokio03-sqlite"]
tokio03-mssql = ["rbatis-core/tokio03-mssql"]
#tokio02-database
tokio02-mysql = ["rbatis-core/tokio02-mysql"]
tokio02-postgres = ["rbatis-core/tokio02-postgres"]
tokio02-sqlite = ["rbatis-core/tokio02-sqlite"]
tokio02-mssql = ["rbatis-core/tokio02-mssql"]
#actix-database
actix-mysql = ["rbatis-core/actix-mysql"]
actix-postgres = ["rbatis-core/actix-postgres"]
actix-sqlite = ["rbatis-core/actix-sqlite"]
actix-mssql = ["rbatis-core/actix-mssql"]
#Distributed unique ID snowflake ID
snowflake = ["rustflake"]

[dependencies]
rexpr = {version = "1.0"}
rbatis-core = { version = "1.8.58", path = "rbatis-core", default-features = false, optional = true }
chrono = { version = "0.4", features = ["serde"] }
lazy_static = "1.4"
#serde
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
#uuid
uuid = { version = "0.8", features = ["serde", "v4"] }
#log
log = "0.4"
#async trait
async-trait = "0.1"
futures-core = { version = "0.3" }
once_cell = "1.5"
rustflake = { version = "0.1", package = "rustflake", optional = true }
dashmap = {version = "4"}
[dev-dependencies]
fast_log = "1.3"
async-std = { version = "1.8", features = ["attributes"] }