Pure.Chart.Model.Abstractions
0.1.0-preview.2.0.0
dotnet add package Pure.Chart.Model.Abstractions --version 0.1.0-preview.2.0.0
NuGet\Install-Package Pure.Chart.Model.Abstractions -Version 0.1.0-preview.2.0.0
<PackageReference Include="Pure.Chart.Model.Abstractions" Version="0.1.0-preview.2.0.0" />
<PackageVersion Include="Pure.Chart.Model.Abstractions" Version="0.1.0-preview.2.0.0" />
<PackageReference Include="Pure.Chart.Model.Abstractions" />
paket add Pure.Chart.Model.Abstractions --version 0.1.0-preview.2.0.0
#r "nuget: Pure.Chart.Model.Abstractions, 0.1.0-preview.2.0.0"
#:package Pure.Chart.Model.Abstractions@0.1.0-preview.2.0.0
#addin nuget:?package=Pure.Chart.Model.Abstractions&version=0.1.0-preview.2.0.0&prerelease
#tool nuget:?package=Pure.Chart.Model.Abstractions&version=0.1.0-preview.2.0.0&prerelease
Pure.Chart.Model.Abstractions
Chart model interfaces for the Pure ecosystem — immutable, composable abstractions over chart data structures.
Overview
Pure.Chart.Model.Abstractions defines a set of minimal, read-only interfaces that represent the structural components of a chart. Each interface exposes only getters — no mutation, no side effects. All string properties are typed as IString from Pure.Primitives.Abstractions, keeping the model decoupled from concrete string representations.
Interfaces
| Interface | Namespace | Description |
|---|---|---|
IChart |
Pure.Chart.Model.Abstractions |
Root chart model — title, description, type, axes, and series |
IChartType |
Pure.Chart.Model.Abstractions |
Named category of chart (e.g. bar, line, pie) |
IChartSeries |
Pure.Chart.Model.Abstractions |
A single data series — legend label, axis source bindings, and line type |
IAxis |
Pure.Chart.Model.Abstractions |
A chart axis with a legend label |
Design Principles
- Immutable — all interfaces expose only
getproperties; no setters, no methods that mutate state. - Composable —
IChartis built fromIChartType,IAxis, andIEnumerable<IChartSeries>; complex structure is expressed through composition. - Primitive-typed — string properties use
IStringfromPure.Primitives.Abstractions, notSystem.String, keeping the model framework-agnostic. - AOT-compatible — the library is fully compatible with Native AOT compilation.
Dependencies
Pure.Primitives.Abstractions— base interfaces for immutable primitive types (IString,INumber<T>, etc.)
Target Frameworks
- .NET 7
- .NET 8
- .NET 9
- .NET 10
Installation
dotnet add package Pure.Chart.Model.Abstractions
Usage
Implement the interfaces to model a chart in your domain:
using Pure.Chart.Model.Abstractions;
using Pure.Primitives.Abstractions.String;
public sealed class BarChartType : IChartType
{
public IString Name { get; } = new StringValue("Bar");
}
public sealed class SalesChart : IChart
{
public IString Title { get; } = new StringValue("Monthly Sales");
public IString Description { get; } = new StringValue("Sales figures by month");
public IChartType Type { get; } = new BarChartType();
public IAxis XAxis { get; } = new MonthAxis();
public IAxis YAxis { get; } = new RevenueAxis();
public IEnumerable<IChartSeries> Series { get; } = [new SalesSeries()];
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 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 is compatible. 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 is compatible. 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. |
-
net10.0
- Pure.Primitives.Abstractions (>= 4.3.0)
-
net7.0
- Pure.Primitives.Abstractions (>= 4.3.0)
-
net8.0
- Pure.Primitives.Abstractions (>= 4.3.0)
-
net9.0
- Pure.Primitives.Abstractions (>= 4.3.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Pure.Chart.Model.Abstractions:
| Package | Downloads |
|---|---|
|
Pure.Chart.RichRelationalModel.Abstractions
Package Description |
|
|
Pure.Chart.Model.HashCodes
Package Description |
|
|
Pure.Chart.Model
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.2.0.0 | 249 | 10/23/2026 |
| 0.1.0-preview.1.0.0 | 3,040 | 4/19/2026 |
| 0.1.0-preview.0.1.0 | 1,044 | 2/7/2026 |