Reified.Data 0.1.0

dotnet add package Reified.Data --version 0.1.0
                    
NuGet\Install-Package Reified.Data -Version 0.1.0
                    
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="Reified.Data" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reified.Data" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Reified.Data" />
                    
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 Reified.Data --version 0.1.0
                    
#r "nuget: Reified.Data, 0.1.0"
                    
#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 Reified.Data@0.1.0
                    
#: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=Reified.Data&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Reified.Data&version=0.1.0
                    
Install as a Cake Tool

Reified.Data

Reified.Data makes structured data concise to build, change, compare, and test. Its data model maps directly to JSON and also works well for fixtures, configuration, command-line input, form values, events, and other tree-shaped data.

open Reified.Data
open Data.Syntax

let customer =
    data [
        "name" => "Ada"
        "address" => [
            "city" => "Adelaide"
            "postcode" => 5000
        ]
        "roles" => [ "author" ]
    ]

let promoted =
    customer
    |> Data.patch [
        replace "address.postcode" 5001
        append "roles" "admin"
    ]

promoted
|> matching [
    at "address" (containing [ "postcode" => 5001 ])
    at "roles" (containingItems [ "admin" ])
    absent "error"
]

promoted contains postcode 5001 and roles ["author","admin"]; customer remains unchanged. The final matching expression returns unit because every selected observation succeeds.

Data.Number preserves its lexical token. Data.Object preserves field order and duplicate names. Exact comparison, patching, paths, and matching state their behavior rather than silently normalizing those distinctions.

Install it with dotnet add package Reified.Data.

Data.Json.render writes JSON on .NET and Fable. For portable JSON text parsing, add Reified.Schema.Json and use Json.parseData. On .NET 8+, existing JsonElement and JsonDocument values can be copied with Data.ofJsonElement and Data.ofJsonDocument; under Fable, pass a native JSON.parse result to Data.ofJsonValue.

See the repository documentation for tutorials, partial matching, case matrices, JSON conversion, and the complete API reference.

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 is compatible.  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.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.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Reified.Data:

Package Downloads
Reified.Schema

Portable model schema definitions for Reified input, validation, codec, documentation, and UI interpreters.

Reified

Declare value and model invariants once, then derive validation, parsing, diagnostics, codecs, and contracts from the same declaration. This umbrella package installs every Reified runtime package; install a focused package instead when you need only one capability.

Reified.Schema.Http

Host-neutral HTTP boundary support for Reified schemas: query and form structured data, RFC 9457 problem details from parse diagnostics, and OpenAPI documents assembled from endpoint specifications.

Reified.Schema.Json

Compiled, runtime-reflection-free, compiler-directed JSON codecs over Reified.Schema declarations for trusted hot-path serialization.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 90 8/17/2026