[package]
authors = ["blackbeam <aikorsky@gmail.com>", "Tricster <mediosrity@gmail.com>"]
description = "Tokio based asynchronous MySql client library."
documentation = "https://docs.rs/mysql_async"
keywords = ["mysql", "database", "asynchronous", "async", "wasi"]
license = "MIT/Apache-2.0"
name = "mysql_async_wasi"
readme = "README.md"
repository = "https://github.com/WasmEdge/mysql_async_wasi"
version = "0.31.6"
exclude = ["test/*"]
edition = "2018"
categories = ["asynchronous", "database"]

[dependencies]
bytes = "1.0"
crossbeam = "0.8.1"
flate2 = { version = "1.0", default-features = false }
futures-core = "0.3"
futures-util = "0.3"
futures-sink = "0.3"
lazy_static = "1"
lru = "0.8.1"
mysql_common = { version = "0.29.2", default-features = false }
once_cell = "1.7.2"
pem = "1.0.1"
percent-encoding = "2.1.0"
pin-project = "1.0.2"
priority-queue = "1"
serde = "1"
serde_json = "1"
thiserror = "1.0.4"
twox-hash = "1"
url = "2.1"

# [target.'cfg(not(target_os="wasi"))'.dependencies]
# tokio = { version = "1.0", features = ["io-util", "fs", "net", "time", "rt"] }
# tokio-util = { version = "0.7.2", features = ["codec", "io"] }
# tokio-native-tls = "0.3.0"
# socket2 = "0.4.2"
# native-tls = "0.2"
# mio = { version = "0.8.0", features = ["os-poll", "net"] }

[target.'cfg(target_os="wasi")'.dependencies]
tokio_wasi = { version = "1", features = [
    "io-util",
    "fs",
    "net",
    "time",
    "rt",
    "macros",
    "sync",
] }
tokio-util_wasi = { version = "0.7.2", features = ["codec", "io"] }
wasmedge_wasi_socket = "0.5"
wasmedge_rustls_api = { version = "0.1.0", optional = true, features = [
    "tokio_async",
] }

# [target.'cfg(not(target_os="wasi"))'.dev-dependencies]
# tempfile = "3.1.0"
# socket2 = { version = "0.4.0", features = ["all"] }
# tokio = { version = "1.0", features = ["macros", "rt", "rt-multi-thread"] }
# rand = "0.8.0"

[dev-dependencies]
tempfile = "3.1.0"
tokio = { version = "1.0", features = ["io-util", "fs", "net", "time", "rt"] }
tokio-util = { version = "0.7.2", features = ["codec", "io"] }

[target.'cfg(target_os="wasi")'.dev-dependencies]
tempfile = "3.1.0"
tokio_wasi = { version = "1", features = [
    "io-util",
    "fs",
    "net",
    "time",
    "rt",
    "macros",
] }
rand = "0.8.0"


[dependencies.tokio-rustls]
version = "0.23.4"
optional = true

[dependencies.tokio-native-tls]
version = "0.3.0"
optional = true

[dependencies.native-tls]
version = "0.2"
optional = true

[dependencies.rustls]
version = "0.20.0"
features = ["dangerous_configuration"]
optional = true

[dependencies.rustls-pemfile]
version = "1.0.1"
optional = true

[dependencies.webpki]
version = "0.22.0"
optional = true

[dependencies.webpki-roots]
version = "0.22.1"
optional = true

[features]
default = ["common", "rust_backend"]
default-rustls = ["common", "rust_backend", "wasmedge-tls"]
common = [
    "mysql_common/bigdecimal03",
    "mysql_common/rust_decimal",
    "mysql_common/time03",
    "mysql_common/uuid",
    "mysql_common/frunk",
]
native-tls-tls = ["native-tls", "tokio-native-tls"]
rust_backend = ["flate2/rust_backend"]
rustls-tls = [
    "rustls",
    "tokio-rustls",
    "webpki",
    "webpki-roots",
    "rustls-pemfile",
]
wasmedge-tls = ["wasmedge_rustls_api"]
minimal = ["flate2/zlib"]
zlib = ["flate2/zlib"]
full = ["default", "zlib"]
nightly = []

[lib]
name = "mysql_async"
path = "src/lib.rs"

[profile.bench]
debug = true