Iconic.Yaml
1.0.0-beta
dotnet add package Iconic.Yaml --version 1.0.0-beta
NuGet\Install-Package Iconic.Yaml -Version 1.0.0-beta
<PackageReference Include="Iconic.Yaml" Version="1.0.0-beta" />
paket add Iconic.Yaml --version 1.0.0-beta
#r "nuget: Iconic.Yaml, 1.0.0-beta"
// Install Iconic.Yaml as a Cake Addin #addin nuget:?package=Iconic.Yaml&version=1.0.0-beta&prerelease // Install Iconic.Yaml as a Cake Tool #tool nuget:?package=Iconic.Yaml&version=1.0.0-beta&prerelease
Yaml Loader
A library that allows loading of yaml files and getting values based on paths
It is meant as a lightweight and easy to use alternative to YamlDotNet and the Configuration framework.
If you feel like sometimes the framework is over-engineered, this is the library for you
If you use complex yaml configuration and you require complex validation or mapping to strongly typed objects, then you should use YamlDotNet and the Configuration Framework.
Yaml support
The library does not validate files and does not support the entire Yaml specification (for example arrays).
Only simple values are supported
Validation
The library does not handle validation. This is functionality that should be handled by each service, to avoid leaking business logic all over framework glue-code
Usage
var configuration = new YamlLoader();
configuration.Load("app.yaml");
configuration.Load("log.yaml");
var dbpass = configuration.Get("database.motosales.name");
var dbport = configuration.Get("database.motosales.port");
var logMode = configuration.Get("log.mode");
Performance
Smaller keys are retrieved faster
The library is not yet optimized for performance, however it was designed to front-load expensive operations to the time of initialization, and make retrieving operations more performant.
TODO
Work on improving performance and decrease the cpu/memory footprint
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-beta | 107 | 3/13/2023 |
Initial release