aqua - aqua-core 5.4.0-alpha-005

Transform any object-graph into a dynamic, composed dictionaries like structure, holding serializable values and type information.

  Commonly Used Types:
  Aqua.Dynamic.DynamicObject
  Aqua.Dynamic.DynamicObjectMapper
  Aqua.TypeSystem.ConstructorInfo
  Aqua.TypeSystem.FieldInfo
  Aqua.TypeSystem.MethodInfo
  Aqua.TypeSystem.TypeInfo
  Aqua.TypeSystem.PropertyInfo

PM> Install-Package aqua-core -Version 5.4.0-alpha-005 -Source https://www.myget.org/F/aqua/api/v3/index.json

Copy to clipboard

> nuget.exe install aqua-core -Version 5.4.0-alpha-005 -Source https://www.myget.org/F/aqua/api/v3/index.json

Copy to clipboard

> dotnet add package aqua-core --version 5.4.0-alpha-005 --source https://www.myget.org/F/aqua/api/v3/index.json

Copy to clipboard
<PackageReference Include="aqua-core" Version="5.4.0-alpha-005" />
Copy to clipboard
source https://www.myget.org/F/aqua/api/v3/index.json

nuget aqua-core  ~> 5.4.0-alpha-005
Copy to clipboard

> choco install aqua-core --version 5.4.0-alpha-005 --source https://www.myget.org/F/aqua/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "aqua" -SourceLocation "https://www.myget.org/F/aqua/api/v2"
Install-Module -Name "aqua-core" -RequiredVersion "5.4.0-alpha-005" -Repository "aqua" -AllowPreRelease
Copy to clipboard

Browse the sources in this package using Visual Studio or WinDbg by configuring the following symbol server URL: https://www.myget.org/F/aqua/api/v2/symbolpackage/


aqua-core

Github Workflow

branch AppVeyor Travis CI Codecov.io Codacy CodeFactor License
main AppVeyor Build Status Travis Build Status codecov Codacy Badge CodeFactor GitHub license
package nuget myget
aqua-core NuGet Badge MyGet Pre Release
aqua-core-newtonsoft-json NuGet Badge MyGet Pre Release
aqua-core-protobuf-net NuGet Badge MyGet Pre Release
aqua-core-text-json NuGet Badge MyGet Pre Release

Transform any object-graph into a dynamic, composed dictionaries like structure, holding serializable values and type information.

Aqua-core provides a bunch of serializable classes:

  • DynamicObject
  • TypeInfo
  • FieldInfo
  • PropertyInfo
  • MethodInfo
  • ConstructorInfo

Any object graph may be translated into a DynamicObject structure and back to it's original type using DynamicObjectMapper.

Sample

Mapping an object graph into a DynamicObject and then back to it's original type

Blog blog = new Blog
{
    Title = ".NET Blog",
    Description = "A first-hand look from the .NET engineering teams",
    Posts = new[]
    {
        new Post
        {
            Title = "Announcing .NET Core 1.0",
            Date = new DateTime(2016, 6, 27),
            Author = "rlander"
            Text = "We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and " +
               "Entity Framework Core 1.0, available on Windows, OS X and Linux! " +
               ".NET Core is a cross-platform, open source, and modular .NET platform [...]",
        },
        new Post
        {
            Title = "Happy 15th Birthday .NET!",
            Date = new DateTime(2017, 2, 13),
            Author = "bmassi",
            Text = "Today marks the 15th anniversary since .NET debuted to the world [...]",
        }
    }
}

DynamicObject dynamicObject = new DynamicObjectMapper().MapObject(blog);

Blog restoredBlog = new DynamicObjectMapper().Map(dynamicObject) as Blog;
  • .NETFramework 6.0
  • .NETFramework 8.0
  • .NETStandard 2.0
    • System.Reflection.Emit (>= 4.7.0)
  • .NETStandard 2.1
  • .NETFramework 6.0: 6.0.0.0
  • .NETFramework 8.0: 8.0.0.0
  • .NETStandard 2.0: 2.0.0.0
  • .NETStandard 2.1: 2.1.0.0

Owners

Christof Senn

Authors

Christof Senn

Project URL

https://github.com/6bee/aqua-core

License

MIT

Tags

type-info dynamic-object expando-object object-mapping object-mapper

Info

92 total downloads
0 downloads for version 5.4.0-alpha-005
Download (278.3 KB)
Download symbols (370.43 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
5.4.0-alpha-005 278.3 KB Tue, 23 Apr 2024 07:24:51 GMT 0
5.4.0-alpha-004 278.94 KB Mon, 29 Jan 2024 10:02:34 GMT 2
5.4.0-alpha-002 279.42 KB Wed, 13 Dec 2023 09:42:34 GMT 14
5.4.0-alpha-001 280.07 KB Wed, 06 Dec 2023 14:21:35 GMT 18
5.3.0 192.15 KB Thu, 14 Sep 2023 02:19:52 GMT 58