DKNet.Svc.Transformation
9.0.1
See the version list below for details.
dotnet add package DKNet.Svc.Transformation --version 9.0.1
NuGet\Install-Package DKNet.Svc.Transformation -Version 9.0.1
<PackageReference Include="DKNet.Svc.Transformation" Version="9.0.1" />
<PackageVersion Include="DKNet.Svc.Transformation" Version="9.0.1" />
<PackageReference Include="DKNet.Svc.Transformation" />
paket add DKNet.Svc.Transformation --version 9.0.1
#r "nuget: DKNet.Svc.Transformation, 9.0.1"
#:package DKNet.Svc.Transformation@9.0.1
#addin nuget:?package=DKNet.Svc.Transformation&version=9.0.1
#tool nuget:?package=DKNet.Svc.Transformation&version=9.0.1
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
- Meziantou.Analyzer (>= 2.0.202)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.6)
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 |
---|---|---|
9.0.40 | 0 | 9/27/2025 |
9.0.39 | 63 | 9/26/2025 |
9.0.38 | 108 | 9/24/2025 |
9.0.37 | 117 | 9/23/2025 |
9.0.36 | 123 | 9/23/2025 |
9.0.35 | 118 | 9/23/2025 |
9.0.34 | 125 | 9/23/2025 |
9.0.33 | 106 | 9/21/2025 |
9.0.32 | 117 | 9/21/2025 |
9.0.31 | 252 | 9/19/2025 |
9.0.30 | 263 | 9/18/2025 |
9.0.29 | 263 | 9/18/2025 |
9.0.28 | 257 | 9/17/2025 |
9.0.27 | 258 | 9/17/2025 |
9.0.26 | 264 | 9/16/2025 |
9.0.25 | 202 | 9/15/2025 |
9.0.24 | 203 | 9/15/2025 |
9.0.23 | 70 | 9/6/2025 |
9.0.22 | 143 | 9/3/2025 |
9.0.21 | 130 | 9/1/2025 |
9.0.20 | 145 | 7/15/2025 |
9.0.19 | 140 | 7/14/2025 |
9.0.18 | 144 | 7/14/2025 |
9.0.17 | 140 | 7/14/2025 |
9.0.16 | 118 | 7/11/2025 |
9.0.15 | 123 | 7/11/2025 |
9.0.14 | 125 | 7/11/2025 |
9.0.13 | 130 | 7/11/2025 |
9.0.12 | 149 | 7/8/2025 |
9.0.11 | 142 | 7/8/2025 |
9.0.10 | 137 | 7/7/2025 |
9.0.9 | 139 | 7/2/2025 |
9.0.8 | 144 | 7/2/2025 |
9.0.7 | 149 | 7/1/2025 |
9.0.5 | 143 | 6/24/2025 |
9.0.4 | 146 | 6/24/2025 |
9.0.3 | 142 | 6/23/2025 |
9.0.2 | 145 | 6/23/2025 |
9.0.1 | 149 | 6/23/2025 |