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

[package]
name = "rbatis"
version = "1.8.67"
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", "rbatis-macro-driver/debug_mode"]
default_mode = ["rbatis-core", "rbatis-macro-driver"]

#runtime-all-database
actix = ["default_mode", "rbatis-core/actix"]
tokio02 = ["default_mode", "rbatis-core/tokio02"]
tokio03 = ["default_mode", "rbatis-core/tokio03"]
async-io = ["default_mode", "rbatis-core/async-io"]
#async_std-database
async-io-mysql = ["default_mode", "rbatis-core/async-io-mysql"]
async-io-postgres = ["default_mode", "rbatis-core/async-io-postgres"]
async-io-sqlite = ["default_mode", "rbatis-core/async-io-sqlite"]
async-io-mssql = ["default_mode", "rbatis-core/async-io-mssql"]
#tokio03-database
tokio03-mysql = ["default_mode", "rbatis-core/tokio03-mysql"]
tokio03-postgres = ["default_mode", "rbatis-core/tokio03-postgres"]
tokio03-sqlite = ["default_mode", "rbatis-core/tokio03-sqlite"]
tokio03-mssql = ["default_mode", "rbatis-core/tokio03-mssql"]
#tokio02-database
tokio02-mysql = ["default_mode", "rbatis-core/tokio02-mysql"]
tokio02-postgres = ["default_mode", "rbatis-core/tokio02-postgres"]
tokio02-sqlite = ["default_mode", "rbatis-core/tokio02-sqlite"]
tokio02-mssql = ["default_mode", "rbatis-core/tokio02-mssql"]
#actix-database
actix-mysql = ["default_mode", "rbatis-core/actix-mysql"]
actix-postgres = ["default_mode", "rbatis-core/actix-postgres"]
actix-sqlite = ["default_mode", "rbatis-core/actix-sqlite"]
actix-mssql = ["default_mode", "rbatis-core/actix-mssql"]
#tokio1.0-database
tokio1-mysql = ["default_mode", "rbatis-core/tokio1-mysql"]
tokio1-postgres = ["default_mode", "rbatis-core/tokio1-postgres"]
tokio1-sqlite = ["default_mode", "rbatis-core/tokio1-sqlite"]
tokio1-mssql = ["default_mode", "rbatis-core/tokio1-mssql"]


#Distributed unique ID snowflake ID
snowflake = ["rustflake"]

[dependencies]
rexpr = "1.0"
py_sql = "1.0"
rbatis-core = { git = "https://github.com/rbatis/rbatis-core.git", branch = "main", version = "1.8.66", default-features = false, optional = true }
rbatis-macro-driver = { version = "1.8.66", path = "rbatis-macro-driver", 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" }
#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.9", features = ["attributes"] }