[package] name = "syrette" version = "0.4.1" license = "MIT OR Apache-2.0" authors = ["HampusM "] description = "The convenient dependency injection framework" repository = "https://git.hampusmat.com/syrette" keywords = ["di", "dependency-injection", "ioc", "inversion-of-control"] edition = "2021" rust-version = "1.62.1" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "doc_cfg"] [features] default = ["prevent-circular"] factory = ["syrette_macros/factory"] prevent-circular = ["syrette_macros/prevent-circular"] async = ["dep:async-trait", "dep:tokio"] [[example]] name = "factory" required-features = ["factory"] [[example]] name = "with-3rd-party" required-features = ["factory"] [[example]] name = "async" required-features = ["async", "factory"] [[example]] name = "async-factory" required-features = ["async", "factory"] [[example]] name = "prevent-circular" required-features = ["prevent-circular"] [dependencies] syrette_macros = { path = "./macros", version = "0.4.0" } linkme = "0.3.0" once_cell = "1.4" ahash = "0.7.6" thiserror = "1.0.32" strum = "0.24.1" strum_macros = "0.24.3" paste = "1.0.8" async-trait = { version = "0.1.57", optional = true } tokio = { version = "1.20.1", features = ["sync"], optional = true } [dev_dependencies] mockall = { git = "https://github.com/HampusMat/mockall" } anyhow = "1.0.62" third-party-lib = { path = "./examples/with-3rd-party/third-party-lib" } tokio = { version = "1.20.1", features = ["macros", "rt-multi-thread", "time"] } [workspace] members = [ "macros", "examples/with-3rd-party/third-party-lib" ]