[package]
name = "turso-orm"
description = "An async ORM dedicated to the Turso database, with a typed entity API"
documentation = "https://docs.rs/turso-orm"
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
features = [
"macros",
"mimalloc",
"serverless",
"sync",
"with-chrono",
"with-json",
"with-rust_decimal",
"with-uuid",
]
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[features]
default = ["macros", "with-chrono", "with-json", "with-uuid"]
macros = ["dep:turso-orm-macros"]
fts = ["turso-orm-driver/fts"]
mimalloc = ["turso-orm-driver/mimalloc"]
sync = ["turso-orm-driver/sync"]
serverless = ["turso-orm-driver/serverless"]
with-chrono = ["turso-orm-driver/with-chrono", "turso-sql/with-chrono", "dep:chrono"]
with-json = ["turso-orm-driver/with-json", "turso-sql/with-json", "dep:serde_json"]
with-rust_decimal = [
"turso-orm-driver/with-rust_decimal",
"turso-sql/with-rust_decimal",
"dep:rust_decimal",
]
with-uuid = ["turso-orm-driver/with-uuid", "turso-sql/with-uuid", "dep:uuid"]
[dependencies]
async-trait = { workspace = true }
chrono = { workspace = true, optional = true }
futures-util = { workspace = true }
rust_decimal = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
thiserror = { workspace = true }
tracing = { workspace = true }
turso-orm-driver = { workspace = true }
turso-orm-macros = { workspace = true, optional = true }
turso-sql = { workspace = true }
uuid = { workspace = true, optional = true }
[dev-dependencies]
chrono = { workspace = true }
serde_json = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
uuid = { workspace = true }