ExMapping 0.0.2

dotnet add package ExMapping --version 0.0.2
                    
NuGet\Install-Package ExMapping -Version 0.0.2
                    
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="ExMapping" Version="0.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ExMapping" Version="0.0.2" />
                    
Directory.Packages.props
<PackageReference Include="ExMapping" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ExMapping --version 0.0.2
                    
#r "nuget: ExMapping, 0.0.2"
                    
#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.
#:package ExMapping@0.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ExMapping&version=0.0.2
                    
Install as a Cake Addin
#tool nuget:?package=ExMapping&version=0.0.2
                    
Install as a Cake Tool

ExMapping

A simple, general users-facing(especially for those who do not understand JSON format) format designed to represent mappings with string-type keys and values.

Usage

TBD

For example,

key1=value1
key2=value2
key3!=value4
key4!==value3

parses to

{
    "key1": "value1", 
    "key2": "value2", 
    "key3!": "value4", 
    "key4!": "=value3"
}

Reserved words

=
  • Used to separate key and value
  • the spaces near the sign is not ignored
  • Any equal signs after the first one will be ignored
  • When = is the first character, an empty key is used Example:
    key1=value1
    key2=value2=value3, value4
    key3 = = = value3
    =empty
    
    is parsed to
    {
        "key1": "value1"
        "key2": "value2=value3, value4"
        "key3 ": " = = value3"
        "": "empty"
    }
    
#
  • Used to ignore everything on the line as the first character (mark the current line as a comment) Example:
    # this is an example of file format
    # key1=value1
    key2=value2
    
    is parsed to
    {
        "key2": "value2"
    }
    
\
  • Used as an escape character in key values
  • Supports any reserved characters defined here and \n, \r, \t, \f, \b, \xdd and \udddd
  • Both \ and \\ are parsed as \ Examples: \#key\=value=value=value{ "#key=value": "value=value" } \#key\\==value{ "#key\\": "=value" }
$
  • As the first character, concatenates the current line with a return character to the previous line with a =
&
  • As the first character, concatenates the current line without a return character to the previous line with a =
  • If there is at least one non-space character and no = in a line, the line is parsed as $ concatenated with the line's content
  • When there is no pervious key, a key $"LINE{i}" is generated where i is the current line number
    • If the key is previously defined and key conflict is ignored in this case, an incremental key is used (otherwise the value of the key is to be overwritten) Example:
    
    
    hello?
    longText=
    &line1
    $=line2
    $$line3
     and its tail
    noKeyText=
    
    
    # there are 10 space characters in the next line
    
    what the hell?
    
    is parsed to
    {
        "#LINE3": "hello?"
        "longText": "line1\n=line2\n$line3\n and its tail"
        "noKeyText": "\nwhat the hell?"
    }
    
Product 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.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
0.0.2 588 5/9/2022
0.0.1 552 5/9/2022