1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
[package]
name = "syrette"
version = "0.5.1"
license = "MIT OR Apache-2.0"
authors = ["HampusM <hampus@hampusmat.com>"]
description = "The convenient dependency injection framework"
repository = "https://github.com/HampusMat/Syrette"
keywords = ["di", "dependency-injection", "ioc", "inversion-of-control"]
edition = "2021"
rust-version = "1.62.1"
exclude = ["/.chglog", "/.circleci", "rustfmt.toml"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg", "--html-in-header", "docs-style.html"]
[features]
default = ["prevent-circular"]
factory = ["syrette_macros/factory"]
prevent-circular = ["syrette_macros/prevent-circular"]
async = ["dep:async-trait", "syrette_macros/async"]
[[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"]
[dependencies]
syrette_macros = { path = "./macros", version = "0.5.1" }
linkme = "0.3.0"
once_cell = "1.4"
ahash = "0.8.11"
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 }
[dev-dependencies]
mockall = "0.11.4"
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",
]
[lints.rust.unexpected_cfgs]
level = "warn"
check-cfg = ["cfg(doc_cfg)", "cfg(tarpaulin_include)"]
|