Indiko.Common.Utils
2.2.3
See the version list below for details.
dotnet add package Indiko.Common.Utils --version 2.2.3
NuGet\Install-Package Indiko.Common.Utils -Version 2.2.3
<PackageReference Include="Indiko.Common.Utils" Version="2.2.3" />
<PackageVersion Include="Indiko.Common.Utils" Version="2.2.3" />
<PackageReference Include="Indiko.Common.Utils" />
paket add Indiko.Common.Utils --version 2.2.3
#r "nuget: Indiko.Common.Utils, 2.2.3"
#:package Indiko.Common.Utils@2.2.3
#addin nuget:?package=Indiko.Common.Utils&version=2.2.3
#tool nuget:?package=Indiko.Common.Utils&version=2.2.3
Indiko.Common.Utils
Comprehensive utility library providing extensions, helpers, and diagnostic tools for .NET applications.
Overview
This package contains a rich set of extension methods, helper classes, and diagnostic utilities that enhance productivity and simplify common programming tasks in .NET applications.
Features
- String Extensions: Comprehensive string manipulation (slugify, truncate, case conversion, Base64, etc.)
- DateTime Extensions: Advanced date/time operations and formatting
- Collection Extensions: LINQ enhancements for IEnumerable, IList, and IAsyncEnumerable
- Expression Extensions: Expression tree manipulation utilities
- Reflection Extensions: Simplified reflection operations
- Enum Extensions: Enhanced enum handling and conversion
- TimeSpan Extensions: Duration formatting and manipulation
- Async Helpers: Utilities for async/await patterns
- Diagnostics: Performance monitoring (GC, memory, thread diagnostics, invocation time tracking)
- ICal Support: iCalendar recurrence rule parsing and calculation
- MIME Type Mapping: File extension to MIME type conversions
Installation
dotnet add package Indiko.Common.Utils
Usage Examples
String Extensions
using Indiko.Common.Utils.Extensions;
// Case conversion
string camelCase = "hello world".ToCamelCase(); // "helloWorld"
string pascalCase = "hello world".ToPascalCase(); // "HelloWorld"
// Slugify for URLs
string slug = "Hello World! 2024".Slugify(); // "hello-world-2024"
// Truncate with ellipsis
string truncated = "Very long text".Truncate(10); // "Very long..."
// Base64 encoding/decoding
string encoded = "secret".ToBase64();
string decoded = encoded.FromBase64();
// Check nullability
bool isEmpty = text.IsNullOrEmptyOrWhiteSpace();
// MIME type operations
string mimeType = ".pdf".MimeTypeFromFileExtension(); // "application/pdf"
string extension = "image/jpeg".FileExtensionFromMimeType(); // ".jpg"
DateTime Extensions
using Indiko.Common.Utils.Extensions;
var date = DateTime.Now;
// Various date operations available
Collection Extensions
using Indiko.Common.Utils.Extensions;
var list = new List<int> { 1, 2, 3, 4, 5 };
// Enhanced LINQ operations
var asyncItems = await asyncEnumerable.ToListAsync();
Diagnostics
using Indiko.Common.Utils.Diagnostics;
// Track memory usage
var memoryTracker = new MemoryUsageTracker();
memoryTracker.Start();
// ... perform operations
memoryTracker.Stop();
Console.WriteLine($"Memory used: {memoryTracker.MemoryUsed} bytes");
// Monitor garbage collection
var gcMonitor = new GCMonitor();
gcMonitor.Start();
// Measure invocation time
var timer = new InvocationTime();
timer.Start();
// ... perform operations
var elapsed = timer.Stop();
// Thread diagnostics
ThreadDiagnostics.DumpThreadInfo();
ICal Recurrence Rules
using Indiko.Common.Utils.Helper.ICal;
var rule = new RecurrenceRule
{
Frequency = "DAILY",
Interval = 1,
Count = 10
};
var calculator = new RecurrenceCalculator();
var dates = calculator.Calculate(rule, DateTime.Now);
Object Extensions
using Indiko.Common.Utils.Extensions;
var obj = new MyClass();
// Object manipulation extensions
Target Framework
- .NET 10
Dependencies
This package has minimal dependencies and primarily extends the .NET BCL.
License
See LICENSE file in the repository root.
Related Packages
Indiko.Common.Abstractions- Core abstractions and base typesIndiko.Common.Runtime.Abstractions- Runtime and bootstrapping abstractions
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- CommunityToolkit.Diagnostics (>= 8.4.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.3)
- Optional (>= 5.0.0-alpha)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Indiko.Common.Utils:
| Package | Downloads |
|---|---|
|
Indiko.Blocks.Common.Management
Building Blocks Common Management |
|
|
Indiko.Blocks.DataAccess.Abstractions
Building Blocks DataAccess Abstractions |
|
|
Indiko.Blocks.Mediation.Mediator
Building Blocks Mediation Mediator |
|
|
Indiko.IAM.Abstractions
Building Blocks IAM Abstractions |
|
|
Indiko.Blocks.AI.Abstractions
Building Blocks AI Abstractions |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.2.15 | 0 | 3/7/2026 |
| 2.2.13 | 0 | 3/7/2026 |
| 2.2.12 | 0 | 3/7/2026 |
| 2.2.10 | 26 | 3/6/2026 |
| 2.2.9 | 26 | 3/6/2026 |
| 2.2.8 | 29 | 3/6/2026 |
| 2.2.7 | 31 | 3/6/2026 |
| 2.2.5 | 33 | 3/6/2026 |
| 2.2.3 | 34 | 3/6/2026 |
| 2.2.2 | 32 | 3/6/2026 |
| 2.2.1 | 36 | 3/6/2026 |
| 2.2.0 | 32 | 3/6/2026 |
| 2.1.4 | 141 | 3/2/2026 |
| 2.1.3 | 192 | 2/27/2026 |
| 2.1.2 | 443 | 12/18/2025 |
| 2.1.1 | 834 | 12/2/2025 |
| 2.1.0 | 796 | 12/2/2025 |
| 2.0.0 | 307 | 9/17/2025 |
| 1.7.23 | 591 | 9/8/2025 |
| 1.7.22 | 413 | 9/8/2025 |