Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.76.0"
name = "e-utils"
version = "0.4.20"
authors = ["Eternal(梦游) <EternalNightYeah2@yeah.net>"]
build = false
include = [
    "src/",
    "*.md",
    "*LICENSE*",
    "Cargo.toml",
    "COPYRIGHT",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "a rust utils"
homepage = "https://gitee.com/eternalnight996"
documentation = "https://docs.rs/e-utils"
readme = "README.md"
keywords = [
    "utils",
    "tools",
    "filesystem",
    "encoding",
    "parsing",
]
categories = [
    "development-tools",
    "filesystem",
    "encoding",
    "text-processing",
    "algorithms",
]
license-file = "LICENSE"
repository = "https://gitee.com/eternalnight996/e-utils"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "doc_cfg",
]

[features]
algorithm = ["rand"]
alloc = []
base64 = []
build = [
    "chrono",
    "cmd",
    "fs",
]
chrono = ["dep:chrono"]
cmd = [
    "encode",
    "fs",
    "rayon",
    "serde_json",
]
default = ["std"]
dialog = [
    "rfd",
    "rfd/xdg-portal",
    "rfd/tokio",
    "tokio",
]
encode = [
    "encoding_rs",
    "sys-locale",
    "once_cell",
]
fs = [
    "async-trait",
    "regex",
]
fs_ext = [
    "fs",
    "winapi",
    "winapi/handleapi",
    "winapi/processthreadsapi",
    "winapi/winbase",
    "winapi/minwinbase",
    "winapi/winerror",
    "winapi/fileapi",
    "libc",
]
http = ["reqwest"]
http-blocking = ["reqwest/blocking"]
http-json = ["reqwest/json"]
images = [
    "image",
    "http-blocking",
]
parse = [
    "regex",
    "once_cell",
    "chrono",
    "async-trait",
]
regex = [
    "dep:regex",
    "dep:memchr",
]
std = []

[lib]
name = "e_utils"
crate-type = ["rlib"]
path = "src/lib.rs"
proc-macro = false

[dependencies.async-trait]
version = "0.1"
optional = true

[dependencies.chrono]
version = "0.4"
features = ["serde"]
optional = true

[dependencies.encoding_rs]
version = "0.8"
optional = true

[dependencies.image]
version = "0.25.0"
optional = true

[dependencies.memchr]
version = "2.7"
optional = true

[dependencies.once_cell]
version = "1"
optional = true

[dependencies.rand]
version = "^0.8.5"
features = ["small_rng"]
optional = true

[dependencies.rayon]
version = "1.10"
optional = true

[dependencies.regex]
version = "1.10"
features = ["unicode"]
optional = true

[dependencies.reqwest]
version = "0.12"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.strum]
version = "0.26"
features = ["derive"]

[dependencies.sys-locale]
version = "0.3"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1"
features = ["full"]
optional = true

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[target.'cfg(any(target_os = "macos", target_os = "windows", target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd"))'.dependencies.rfd]
version = "0.15"
optional = true
default-features = false

[target.'cfg(target_os="windows")'.dependencies.winapi]
version = "0.3"
features = []
optional = true
default-features = false

[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true