vertical-templatestring
1.0.0-dev.20240702.1
Prefix Reserved
This is a prerelease version of vertical-templatestring.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package vertical-templatestring --version 1.0.0-dev.20240702.1
NuGet\Install-Package vertical-templatestring -Version 1.0.0-dev.20240702.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="vertical-templatestring" Version="1.0.0-dev.20240702.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add vertical-templatestring --version 1.0.0-dev.20240702.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: vertical-templatestring, 1.0.0-dev.20240702.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install vertical-templatestring as a Cake Addin #addin nuget:?package=vertical-templatestring&version=1.0.0-dev.20240702.1&prerelease // Install vertical-templatestring as a Cake Tool #tool nuget:?package=vertical-templatestring&version=1.0.0-dev.20240702.1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
vertical-templatestring
Replaces interpolation holes in strings with values from a dictionary, where the template is defined a runtime.
Overview
The TemplateString
class is a factory that accepts a dictionary of properties, and efficiently replaces tokens in a template to create an output. The template is specified at runtime using "handlebar" notation.
using Vertical.Text;
var templateString = TemplateString.Create("{filename}.{format}[.{compression}]");
var properties = new Dictionary<string, object?>
{
["filename"] = "output",
["format"] = "json",
["compression"] = "gz"
};
Console.WriteLine(templateString.Replace(properties));
// Output:
// output.json.gz
properties["compression"] = null;
Console.WriteLine(templateString.Replace(properties));
// Output:
// output.json
Configuration notes
- Properties that are always supplied as non-null values can be defined using braced handlebars.
- Properties that the application may supply with
null
values must be defined using bracketed handlebars, otherwise the template will throw an exception during the replacement operation. - Content inside bracketed handlebars will only be part of replacement strings if a braced handlebar within it has a non-
null
value. - A bracketed handlebar is ignored as a template if it doesn't contain a braced handlebar.
- Braced handlebars can be ignored using double-brace escaping, e.g.
{{escape}}
.
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 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.1
- 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-dev.20240702.2 | 70 | 7/2/2024 |
1.0.0-dev.20240702.1 | 51 | 7/2/2024 |