[package]
edition = "2021"
rust-version = "1.77"
name = "xelf"
version = "0.5.3"
authors = ["Sprite Tong <spritetong@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A versatile Rust toolkit for self-use."
documentation = "https://docs.rs/xelf"
readme = "README.md"
keywords = [
"async",
"ffi",
"database",
"serde",
"snowflake",
]
categories = [
"asynchronous",
"database",
"development-tools::ffi",
"rust-patterns",
"network-programming",
]
license = "MIT"
repository = "https://github.com/spritetong/xelf.git"
[features]
async = [
"async-stream",
"async-trait",
"esvc",
"flume",
"future",
"futures",
"futures-util",
"mio",
"parking_lot",
"pin-project",
"tokio",
]
bytes = [
"dep:bytes",
"bytestring",
"zerocopy",
]
collections = [
"maplit",
"smallvec",
"vec",
]
common = [
"minimal",
"async",
"bytes",
"cfg-if",
"fs",
"json",
"hashmap",
"hex",
"log",
"net",
"ouroboros",
"ptr",
"regex",
"serde",
"str",
"sync",
"signal",
]
datetime = [
"chrono",
"num",
]
db = [
"async",
"bytes",
"collections",
"datetime",
"hashmap",
"json",
"minimal",
"ouroboros",
"regex",
"rust_decimal",
"snowflake",
"sea-orm",
"serde",
"str",
"sync",
"sqlx",
]
default = ["minimal"]
derive = [
"derive_more",
"smart-default",
"strum",
]
esvc = ["tokio"]
ffi = [
"cfg-if",
"hashlink",
"str",
"sync",
"zerocopy",
]
fs = [
"io",
"path-absolutize",
"tempfile",
]
full = [
"common",
"db",
"ffi",
]
future = [
"futures",
"futures-util",
"pin-project",
"tokio",
]
hashmap = [
"ahash",
"hashlink",
"maplit",
]
hex = [
"dep:hex",
"hex-literal",
]
io = []
json = ["serde"]
log = [
"dep:log",
"env_logger",
"dotenv",
]
minimal = [
"datetime",
"collections",
"derive",
"io",
"once_cell",
]
net = [
"ipnetwork",
"socket2",
"url",
"winapi",
]
num = ["num-traits"]
ptr = ["once_cell"]
rustls = [
"dep:rustls",
"rustls-pemfile",
"tokio-rustls",
]
rustls-aws-lc-rs = [
"rustls/aws-lc-rs",
"tokio-rustls/aws-lc-rs",
]
rustls-logging = [
"rustls/logging",
"tokio-rustls/logging",
]
rustls-ring = ["rustls/ring"]
serde = [
"dep:serde",
"base64",
"bytestring/serde",
"chrono/serde",
"collections",
"hex",
"ipnetwork/serde",
"num",
"serde_json",
"serde_repr",
"serde_with",
]
signal = [
"future",
"tokio-stream/signal",
]
snowflake = ["smart-default"]
str = ["ptr"]
sync = [
"arc-swap",
"crossbeam",
"flume",
"num_cpus",
"parking_lot",
"triomphe",
]
tokio = [
"dep:tokio",
"tokio-stream",
"tokio-util",
]
vec = []
[lib]
name = "xelf"
path = "src/lib.rs"
[dependencies.ahash]
version = "0.8"
optional = true
[dependencies.arc-swap]
version = "1"
optional = true
[dependencies.async-stream]
version = "0.3"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.bytestring]
version = "1"
optional = true
[dependencies.cfg-if]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.crossbeam]
version = "0.8"
optional = true
[dependencies.derive_more]
version = "2.1"
features = [
"as_ref",
"debug",
"deref",
"deref_mut",
"display",
"from",
"into",
]
optional = true
[dependencies.dotenv]
version = "0.15"
optional = true
[dependencies.env_logger]
version = "0.11"
optional = true
[dependencies.flume]
version = "0.12"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.hashlink]
version = "0.11"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.hex-literal]
version = "1"
optional = true
[dependencies.ipnetwork]
version = "0.21"
optional = true
[dependencies.log]
version = "0.4"
optional = true
[dependencies.maplit]
version = "1"
optional = true
[dependencies.mio]
version = "1"
optional = true
[dependencies.num-traits]
version = "0.2"
optional = true
[dependencies.num_cpus]
version = "1"
optional = true
[dependencies.once_cell]
version = "1"
optional = true
[dependencies.ouroboros]
version = "0.18"
optional = true
[dependencies.parking_lot]
version = "0.12"
optional = true
[dependencies.path-absolutize]
version = "3"
optional = true
[dependencies.pin-project]
version = "1"
optional = true
[dependencies.regex]
version = "1"
optional = true
[dependencies.ritelinked]
version = "0.3"
optional = true
[dependencies.rust_decimal]
version = "1"
optional = true
[dependencies.rustls]
version = "0.23"
features = [
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2.2"
optional = true
[dependencies.sea-orm]
version = "1.1"
features = [
"sqlx-postgres",
"sqlx-sqlite",
"runtime-tokio-rustls",
"runtime-tokio",
]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.serde_repr]
version = "0.1"
optional = true
[dependencies.serde_with]
version = "3"
features = ["base64"]
optional = true
[dependencies.smallvec]
version = "1"
optional = true
[dependencies.smart-default]
version = "0.7"
optional = true
[dependencies.socket2]
version = "0.6"
optional = true
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"postgres",
"sqlite",
"migrate",
]
optional = true
[dependencies.strum]
version = "0.28"
features = ["derive"]
optional = true
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
features = ["tls12"]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1"
features = [
"fs",
"io-util",
"net",
"sync",
"time",
]
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["full"]
optional = true
[dependencies.triomphe]
version = "0.1"
optional = true
[dependencies.url]
version = "2"
optional = true
[dependencies.zerocopy]
version = "0.8"
features = ["derive"]
optional = true
[target.'cfg(not(target_env = "msvc"))'.dependencies.rustls]
version = "0.23"
features = ["aws-lc-rs"]
optional = true
default-features = false
[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = ["mswsock"]
optional = true