summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-07-10WIP Case sensitivity supportcase-sensitivity-supportMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-10Split tests to one test per caselog-deserMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-10Add testcase for lowercase log::Level deserializationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-10Add test for log::Level deserializationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-10Merge pull request #207 from szarykott/async_sourceMatthias Beyer
Add AsyncSource with tests, docs and examples
2021-07-03Simplify example implMatthias Beyer
With this simplification, we save a bit of code on one side, but also showcase that errors from custom AsyncSource implementations are possible because the ConfigError type provides a variant for it. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03Fix clippy: Use to_string() instead of clone()Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03Fix clippy: Use &str instead of &String as argumentMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03Bump MSRV to 1.46.0Matthias Beyer
Because one of our dependencies (namingly `socket2`) uses match in a const fn, which is stabilized in rust 1.46.0, we bump to this version as MSRV for this crate. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03On 1.44.0, only test testsMatthias Beyer
This is required because the examples pull in the "reqwest" crate, which depends on "socket2" and this crate fails to build if the "const fn" feature is not present (which wasn't on 1.44.0). Hence, we only run the tests in the 1.44.0 job, but do not compile the examples. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03Add test for async builderRadosław Kot
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
2021-07-03Add example implementation using async sourceRadosław Kot
Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-26Reimplement the Config building mechanismRadosław Kot
This patch rewrites the Config building mechanism using special objects for tracking the config building state. Transitions between states are done on the fly as required. This is required so that the async sources can be stored inside the configuration building objects, while keeping out the expenses in the non-async case, so a user of the crate has only to pay for what they are using (no async means no overhead for that). Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-26Add AsyncSource traitRadosław Kot
This patch adds the AsyncSource trait, the interface for providing async source functionality for this crate. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-26Add doc to fnMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-26Refactor: Import Result and use it instead of specifying full type pathMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-26Refactor: Extract setting of cache to helper fnMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-11Merge pull request #209 from eduardocanellas/optimize-envMatthias Beyer
refactor(env): optimize and reduce allocations
2021-06-09refactor(env): optimize and reduce allocationsEduardo Canellas
2021-06-08Merge pull request #212 from matthiasbeyer/msrv-ciMatthias Beyer
MSRV on CI
2021-06-08Fix: Remove trailing commaMatthias Beyer
Because the old Rust version in the CI fails with this comma in the macro call, we remove it here. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-08Merge pull request #211 from matthiasbeyer/continue-on-error-on-nightlyMatthias Beyer
On nightly, ignore errors
2021-06-08Update MSRV to 1.44.0Matthias Beyer
Because of a (transitive) dependency (bitvec 0.19.x) that needs at least 1.44.0, we also depend on that version as the MSRV. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-08Run CI build/tests with 1.40.0Matthias Beyer
This change makes CI run with rust 1.40.0 as minimum supported Rust version for the crate. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-08On nightly, ignore errorsMatthias Beyer
This changes the CI setup so that failures on nightly do not break the CI jobs. This way we can see that nightly changes things but our build doesn't break immediately. Because we do not depend on nightly features, I guess this is a good idea. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-08Merge pull request #210 from matthiasbeyer/fix-nightly-clippyMatthias Beyer
Fix clippy: Do not borrow reference
2021-06-08Fix clippy: Do not borrow referenceMatthias Beyer
Reported from nightly clippy, this borrowing of a reference is uneccessary. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-06-03Merge pull request #208 from mjte-riot/valuekind-pubMatthias Beyer
ValueKind is now public to users of the crate
2021-06-03ValueKind is now public to users of the crateMatthew Edwards
2021-05-15Merge pull request #206 from matthiasbeyer/json5-supportMatthias Beyer
Json5 support
2021-05-15Simplify impl of from_json5_value()Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-15Simplify parse() impl of json5 codeMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-15Fix: json5 does not need serde_deriveMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-15Support format json5up9cloud
2021-05-08Merge pull request #196 from szarykott/builderMatthias Beyer
Create the ConfigBuilder
2021-05-08Use ConfigBuilder in env.rs testsRadosław Kot
2021-05-08Make ConfigBuilder's method consumingRadosław Kot
2021-05-08Modify tests to use both ConfigBuilder and ConfigRadosław Kot
2021-05-08Add ConfigBuilderRadosław Kot
2021-05-08Merge pull request #137 from joelgallant/parse-env-numbersMatthias Beyer
Adds 'try_parsing' option for Environment
2021-05-07Merge pull request #205 from kpcyrd/updateMatthias Beyer
Update dependencies
2021-05-07Port to nom 6kpcyrd
2021-05-07Update lazy_static dependencykpcyrd
2021-05-07Update glob dependencykpcyrd
2021-05-07Merge pull request #204 from kpcyrd/2018Matthias Beyer
Update to rust 2018 edition
2021-05-07Update to rust 2018 editionkpcyrd
2021-05-04Fix env tests, remove unused importJohn Brandt
2021-05-04Add perfromance note to `try_parsing`John Brandt
2021-05-04reduce env parsing repetitionJohn Brandt
2021-05-04more predictable env parsing and reduced clonesJohn Brandt