DKNet.Svc.Transformation
9.0.7
See the version list below for details.
dotnet add package DKNet.Svc.Transformation --version 9.0.7
NuGet\Install-Package DKNet.Svc.Transformation -Version 9.0.7
<PackageReference Include="DKNet.Svc.Transformation" Version="9.0.7" />
<PackageVersion Include="DKNet.Svc.Transformation" Version="9.0.7" />
<PackageReference Include="DKNet.Svc.Transformation" />
paket add DKNet.Svc.Transformation --version 9.0.7
#r "nuget: DKNet.Svc.Transformation, 9.0.7"
#:package DKNet.Svc.Transformation@9.0.7
#addin nuget:?package=DKNet.Svc.Transformation&version=9.0.7
#tool nuget:?package=DKNet.Svc.Transformation&version=9.0.7
DKNet.Services.Transformation
A .NET transformation engine for complex data processing scenarios.
Project Overview
The DKNet.Services.Transformation project provides a robust framework for:
- Data format conversion (currency, date-time, boolean)
- Token extraction and resolution patterns
- Dynamic template processing
- Type-safe transformation pipelines
Key features:
✅ Chainable transformation workflows
✅ Extensible converter architecture
✅ Comprehensive error handling
✅ Test coverage over 90%
Directory Structure
Services/DKNet.Services.Transformation/
├── Converters/
│ ├── ValueFormatter.cs # Core conversion logic
│ └── CurrencyConverter.cs # Specific currency handling
├── TokenHandlers/
│ ├── TokenExtractor.cs # Pattern-based token extraction
│ ├── TokenResolver.cs # Data source integration
│ └── TokenResultValidator.cs # Validation pipelines
└── Services.Transform.Tests/ # xUnit test suite
├── ConversionTests/
└── TokenHandlingTests/
Key Components
Core Converters
ValueFormatter (Converters/ValueFormatter.cs)
// Format numeric value with culture-specific rules
var formatted = new ValueFormatter().Format(
value: 12345.67m,
format: "C",
culture: CultureInfo.CreateSpecificCulture("en-US")
);
// Returns "$12,345.67"
CurrencyConverter (Converters/CurrencyConverter.cs)
// Handle currency conversions with automatic rounding
var converter = new CurrencyConverter();
var result = converter.Convert(135.99m, "JPY", 2);
// Returns ¥136 (using banker's rounding)
Token Handling System
TokenExtractor (TokenHandlers/TokenExtractor.cs)
// Extract tokens with format validation
var extractor = new TokenExtractor(
pattern: @"\{(?<token>[a-zA-Z0-9_.:-]+)\}"
);
var tokens = extractor.Extract("Order #{order.id}: {item.price:USD}");
// Returns ["order.id", "item.price:USD"]
TokenResolver (TokenHandlers/TokenResolver.cs)
// Resolve tokens from data source
var resolver = new TokenResolver(new Dictionary<string, object> {
{"user.email", "test@example.com"},
{"transaction.date", DateTime.Now}
});
var resolved = resolver.Resolve("{user.email}");
// Returns "test@example.com"
TokenResultValidator (TokenHandlers/TokenResultValidator.cs)
// Validate token syntax and availability
var validator = new TokenResultValidator();
var validationResult = validator.Validate(
new TokenResult("user.profile.age"),
new ValidationContext { MaxDepth = 3 }
);
// Returns IsValid=true when token structure is valid
Getting Started
Requirements
- .NET 6 SDK
- NuGet package manager
Installation
dotnet add package DKNet.Services.Transformation
Test categories:
- Unit Tests: Isolated component validation
- Integration Tests: End-to-end transformation workflows
- Performance Tests: Benchmark critical paths
Contribution Guidelines
- Fork the repository
- Create feature branch (
git checkout -b feature/improvement) - Add tests for new functionality
- Submit PR with:
- Description of changes
- Updated documentation
- Evidence of passing tests
⚠️ All contributions must maintain 100% test coverage on modified code.
Documentation version: 2.2 | Last updated: 2025-02-05
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 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. |
-
net9.0
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 |
|---|---|---|
| 10.0.7 | 160 | 11/28/2025 |
| 10.0.6 | 167 | 11/27/2025 |
| 10.0.5 | 169 | 11/24/2025 |
| 10.0.4 | 170 | 11/24/2025 |
| 10.0.3 | 342 | 11/21/2025 |
| 10.0.2 | 384 | 11/20/2025 |
| 9.5.40 | 382 | 11/19/2025 |
| 9.5.39 | 261 | 11/13/2025 |
| 9.5.38 | 176 | 11/6/2025 |
| 9.5.37 | 178 | 11/5/2025 |
| 9.5.36 | 174 | 11/5/2025 |
| 9.5.35 | 172 | 11/4/2025 |
| 9.5.34 | 179 | 11/4/2025 |
| 9.5.33 | 176 | 11/3/2025 |
| 9.5.32 | 174 | 11/3/2025 |
| 9.5.31 | 151 | 10/31/2025 |
| 9.5.30 | 170 | 10/31/2025 |
| 9.5.29 | 181 | 10/30/2025 |
| 9.5.28 | 168 | 10/27/2025 |
| 9.5.27 | 171 | 10/27/2025 |
| 9.5.26 | 171 | 10/27/2025 |
| 9.5.25 | 163 | 10/26/2025 |
| 9.5.24 | 94 | 10/25/2025 |
| 9.5.23 | 90 | 10/25/2025 |
| 9.5.22 | 90 | 10/25/2025 |
| 9.5.21 | 154 | 10/24/2025 |
| 9.5.20 | 172 | 10/23/2025 |
| 9.5.19 | 157 | 10/23/2025 |
| 9.5.18 | 166 | 10/22/2025 |
| 9.5.17 | 152 | 10/17/2025 |
| 9.5.16 | 141 | 10/17/2025 |
| 9.5.15 | 175 | 10/15/2025 |
| 9.5.14 | 184 | 10/14/2025 |
| 9.5.13 | 170 | 10/14/2025 |
| 9.5.12 | 160 | 10/14/2025 |
| 9.5.11 | 155 | 10/14/2025 |
| 9.5.10 | 169 | 10/14/2025 |
| 9.5.9 | 161 | 10/13/2025 |
| 9.5.8 | 90 | 10/11/2025 |
| 9.5.7 | 101 | 10/10/2025 |
| 9.5.6 | 119 | 10/10/2025 |
| 9.5.5 | 121 | 10/10/2025 |
| 9.5.4 | 132 | 10/10/2025 |
| 9.5.3 | 171 | 10/8/2025 |
| 9.5.2 | 149 | 10/8/2025 |
| 9.5.1 | 162 | 10/7/2025 |
| 9.0.42 | 167 | 10/6/2025 |
| 9.0.41 | 170 | 10/2/2025 |
| 9.0.40 | 115 | 9/27/2025 |
| 9.0.39 | 143 | 9/26/2025 |
| 9.0.38 | 157 | 9/24/2025 |
| 9.0.37 | 171 | 9/23/2025 |
| 9.0.36 | 177 | 9/23/2025 |
| 9.0.35 | 172 | 9/23/2025 |
| 9.0.34 | 173 | 9/23/2025 |
| 9.0.33 | 156 | 9/21/2025 |
| 9.0.32 | 167 | 9/21/2025 |
| 9.0.31 | 276 | 9/19/2025 |
| 9.0.30 | 284 | 9/18/2025 |
| 9.0.29 | 293 | 9/18/2025 |
| 9.0.28 | 286 | 9/17/2025 |
| 9.0.27 | 294 | 9/17/2025 |
| 9.0.26 | 295 | 9/16/2025 |
| 9.0.25 | 225 | 9/15/2025 |
| 9.0.24 | 225 | 9/15/2025 |
| 9.0.23 | 90 | 9/6/2025 |
| 9.0.22 | 177 | 9/3/2025 |
| 9.0.21 | 166 | 9/1/2025 |
| 9.0.20 | 172 | 7/15/2025 |
| 9.0.19 | 157 | 7/14/2025 |
| 9.0.18 | 160 | 7/14/2025 |
| 9.0.17 | 160 | 7/14/2025 |
| 9.0.16 | 148 | 7/11/2025 |
| 9.0.15 | 152 | 7/11/2025 |
| 9.0.14 | 150 | 7/11/2025 |
| 9.0.13 | 148 | 7/11/2025 |
| 9.0.12 | 168 | 7/8/2025 |
| 9.0.11 | 168 | 7/8/2025 |
| 9.0.10 | 165 | 7/7/2025 |
| 9.0.9 | 170 | 7/2/2025 |
| 9.0.8 | 170 | 7/2/2025 |
| 9.0.7 | 166 | 7/1/2025 |
| 9.0.5 | 162 | 6/24/2025 |
| 9.0.4 | 173 | 6/24/2025 |
| 9.0.3 | 169 | 6/23/2025 |
| 9.0.2 | 172 | 6/23/2025 |
| 9.0.1 | 164 | 6/23/2025 |
| 0.0.1 | 378 | 11/19/2025 |