Tomlyn.Signed
0.17.0
dotnet add package Tomlyn.Signed --version 0.17.0
NuGet\Install-Package Tomlyn.Signed -Version 0.17.0
<PackageReference Include="Tomlyn.Signed" Version="0.17.0" />
paket add Tomlyn.Signed --version 0.17.0
#r "nuget: Tomlyn.Signed, 0.17.0"
// Install Tomlyn.Signed as a Cake Addin #addin nuget:?package=Tomlyn.Signed&version=0.17.0 // Install Tomlyn.Signed as a Cake Tool #tool nuget:?package=Tomlyn.Signed&version=0.17.0
Tomlyn
<img align="right" width="160px" height="160px" src="img/logo.png">
Tomlyn is a TOML parser, validator and authoring library for .NET Framework and .NET Core.
What is TOML?
A config file format for humans. TOML aims to be a minimal configuration file format that's easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table. TOML should be easy to parse into data structures in a wide variety of languages.
- See the official website https://toml.io/en/ for more details.
- Example and specifications are available at TOML v1.0.0
Features
- Very fast parser, GC friendly.
- Compatible with the latest TOML v1.0.0 specs.
- Allow to map a TOML string to a default runtime model via
Toml.ToModel(string)
- Allow to map a TOML string to a custom runtime model via
Toml.ToModel<T>(string)
- Very convenient for loading custom configurations for example.
- Allow to generate a TOML string from a runtime model via
string Toml.FromModel(object)
- Preserve comments, by default with the default runtime model, or by implementing the
ITomlMetadataProvider
.
- Preserve comments, by default with the default runtime model, or by implementing the
- Allow to parse to a
DocumentSyntax
viaToml.Parse(string)
.- Preserve all spaces, new line, comments but also invalid characters/tokens.
- Can roundtrip to text with exact representation.
- Provides a validator with the
Toml.Validate
method. - Supports for .NET Standard 2.0+ and provides an API with nullable annotations.
Documentation
See the documentation for more details.
Install
Tomlyn is delivered as a NuGet Package.
Usage
var toml = @"global = ""this is a string""
# This is a comment of a table
[my_table]
key = 1 # Comment a key
value = true
list = [4, 5, 6]
";
// Parse the TOML string to the default runtime model `TomlTable`
var model = Toml.ToModel(toml);
// Fetch the string
var global = (string)model["global"]!;
// Prints: found global = "this is a string"
Console.WriteLine($"found global = \"{global}\"");
// Generates a TOML string from the model
var tomlOut = Toml.FromModel(model);
// Output the generated TOML
Console.WriteLine(tomlOut);
This will print the original TOML by preserving most the comments:
global = "this is a string"
# This is a comment of a table
[my_table]
key = 1 # Comment a key
value = true
list = [4, 5, 6]
NOTICE: By default, when mapping to a custom model, Tomlyn is using the PascalToSnakeCase naming convention (e.g
ThisIsFine
tothis_is_fine
). This behavior can be changed by overriding theTomlModelOptions.ConvertPropertyName
delegate.
License
This software is released under the BSD-Clause 2 license.
Credits
Modified version of the logo Thor
by Mike Rowe from the Noun Project (Creative Commons)
Author
Alexandre Mutel aka xoofx.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 is compatible. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Tomlyn.Signed:
Package | Downloads |
---|---|
Microsoft.ComponentDetection.Detectors
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Tomlyn.Signed:
Repository | Stars |
---|---|
microsoft/component-detection
Scans your project to determine what components you use
|
|
influxdata/influxdb-client-csharp
InfluxDB 2.x C# Client
|
Version | Downloads | Last updated |
---|---|---|
0.17.0 | 134,240 | 11/23/2023 |
0.16.2 | 59,043 | 12/22/2022 |
0.16.1 | 2,164 | 10/27/2022 |
0.16.0 | 595 | 10/20/2022 |
0.15.1 | 577 | 10/13/2022 |
0.15.0 | 1,890 | 7/1/2022 |
0.14.4 | 446 | 6/21/2022 |
0.14.3 | 753 | 5/9/2022 |
0.14.2 | 461 | 4/21/2022 |
0.14.1 | 440 | 4/3/2022 |
0.14.0 | 471 | 3/10/2022 |
0.13.1 | 442 | 3/6/2022 |
0.13.0 | 427 | 3/5/2022 |
0.12.1 | 444 | 3/5/2022 |
0.12.0 | 432 | 2/27/2022 |
0.11.0 | 457 | 2/14/2022 |
0.10.2 | 2,473 | 2/1/2022 |
0.10.1 | 671 | 1/31/2022 |
0.10.0 | 683 | 1/27/2022 |
0.9.1 | 684 | 1/25/2022 |
0.4.1 | 674 | 1/23/2022 |
0.4.0 | 745 | 1/23/2022 |
0.3.1 | 699 | 1/14/2022 |
0.3.0 | 718 | 1/14/2022 |
0.1.2 | 3,848 | 3/8/2020 |
0.1.1 | 681 | 2/13/2019 |
0.1.0 | 699 | 2/12/2019 |