Indiko.Common.Utils
2.1.2
dotnet add package Indiko.Common.Utils --version 2.1.2
NuGet\Install-Package Indiko.Common.Utils -Version 2.1.2
<PackageReference Include="Indiko.Common.Utils" Version="2.1.2" />
<PackageVersion Include="Indiko.Common.Utils" Version="2.1.2" />
<PackageReference Include="Indiko.Common.Utils" />
paket add Indiko.Common.Utils --version 2.1.2
#r "nuget: Indiko.Common.Utils, 2.1.2"
#:package Indiko.Common.Utils@2.1.2
#addin nuget:?package=Indiko.Common.Utils&version=2.1.2
#tool nuget:?package=Indiko.Common.Utils&version=2.1.2
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.1)
- 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.1.2 | 382 | 12/18/2025 |
| 2.1.1 | 788 | 12/2/2025 |
| 2.1.0 | 760 | 12/2/2025 |
| 2.0.0 | 288 | 9/17/2025 |
| 1.7.23 | 542 | 9/8/2025 |
| 1.7.22 | 366 | 9/8/2025 |
| 1.7.21 | 374 | 8/14/2025 |
| 1.7.20 | 612 | 6/23/2025 |
| 1.7.19 | 355 | 6/3/2025 |
| 1.7.18 | 347 | 5/29/2025 |
| 1.7.17 | 386 | 5/26/2025 |
| 1.7.15 | 331 | 4/12/2025 |
| 1.7.14 | 328 | 4/11/2025 |
| 1.7.13 | 317 | 3/29/2025 |
| 1.7.12 | 337 | 3/28/2025 |
| 1.7.11 | 375 | 3/28/2025 |
| 1.7.10 | 339 | 3/28/2025 |
| 1.7.9 | 348 | 3/28/2025 |
| 1.7.8 | 328 | 3/28/2025 |
| 1.7.5 | 394 | 3/17/2025 |
| 1.7.4 | 361 | 3/16/2025 |
| 1.7.3 | 359 | 3/16/2025 |
| 1.7.2 | 349 | 3/16/2025 |
| 1.7.1 | 436 | 3/11/2025 |
| 1.6.8 | 347 | 3/11/2025 |
| 1.6.7 | 416 | 3/4/2025 |
| 1.6.6 | 300 | 2/26/2025 |
| 1.6.5 | 309 | 2/20/2025 |
| 1.6.4 | 285 | 2/20/2025 |
| 1.6.3 | 329 | 2/5/2025 |
| 1.6.2 | 277 | 1/24/2025 |
| 1.6.1 | 271 | 1/24/2025 |
| 1.6.0 | 313 | 1/16/2025 |
| 1.5.2 | 402 | 1/16/2025 |
| 1.5.1 | 543 | 11/3/2024 |
| 1.5.0 | 355 | 10/26/2024 |
| 1.3.2 | 339 | 10/24/2024 |
| 1.3.0 | 363 | 10/10/2024 |
| 1.2.5 | 360 | 10/9/2024 |
| 1.2.4 | 381 | 10/8/2024 |
| 1.2.1 | 358 | 10/3/2024 |
| 1.2.0 | 339 | 9/29/2024 |
| 1.1.1 | 342 | 9/23/2024 |
| 1.1.0 | 375 | 9/18/2024 |
| 1.0.33 | 397 | 9/15/2024 |
| 1.0.28 | 364 | 8/28/2024 |
| 1.0.27 | 368 | 8/24/2024 |
| 1.0.26 | 380 | 7/7/2024 |
| 1.0.25 | 374 | 7/6/2024 |
| 1.0.24 | 359 | 6/25/2024 |
| 1.0.23 | 381 | 6/1/2024 |
| 1.0.22 | 381 | 5/14/2024 |
| 1.0.21 | 335 | 5/14/2024 |
| 1.0.20 | 377 | 4/8/2024 |
| 1.0.19 | 355 | 4/3/2024 |
| 1.0.18 | 379 | 3/23/2024 |
| 1.0.17 | 388 | 3/19/2024 |
| 1.0.16 | 362 | 3/19/2024 |
| 1.0.15 | 361 | 3/11/2024 |
| 1.0.14 | 368 | 3/10/2024 |
| 1.0.13 | 396 | 3/6/2024 |
| 1.0.12 | 387 | 3/1/2024 |
| 1.0.11 | 390 | 3/1/2024 |
| 1.0.10 | 323 | 3/1/2024 |
| 1.0.9 | 380 | 3/1/2024 |
| 1.0.8 | 397 | 2/19/2024 |
| 1.0.7 | 375 | 2/17/2024 |
| 1.0.6 | 386 | 2/17/2024 |
| 1.0.5 | 366 | 2/17/2024 |
| 1.0.4 | 415 | 2/7/2024 |
| 1.0.3 | 349 | 2/6/2024 |
| 1.0.1 | 361 | 2/6/2024 |
| 1.0.0 | 470 | 1/9/2024 |
| 1.0.0-preview99 | 372 | 12/22/2023 |
| 1.0.0-preview98 | 339 | 12/21/2023 |
| 1.0.0-preview97 | 330 | 12/21/2023 |
| 1.0.0-preview96 | 334 | 12/20/2023 |
| 1.0.0-preview95 | 224 | 12/20/2023 |
| 1.0.0-preview94 | 341 | 12/18/2023 |
| 1.0.0-preview93 | 529 | 12/13/2023 |
| 1.0.0-preview92 | 344 | 12/13/2023 |
| 1.0.0-preview91 | 363 | 12/12/2023 |
| 1.0.0-preview90 | 348 | 12/11/2023 |
| 1.0.0-preview89 | 329 | 12/11/2023 |
| 1.0.0-preview88 | 458 | 12/6/2023 |
| 1.0.0-preview87 | 371 | 12/6/2023 |
| 1.0.0-preview86 | 350 | 12/6/2023 |
| 1.0.0-preview85 | 347 | 12/6/2023 |
| 1.0.0-preview84 | 364 | 12/5/2023 |
| 1.0.0-preview83 | 372 | 12/5/2023 |
| 1.0.0-preview82 | 378 | 12/5/2023 |
| 1.0.0-preview81 | 341 | 12/4/2023 |
| 1.0.0-preview80 | 334 | 12/1/2023 |
| 1.0.0-preview77 | 391 | 12/1/2023 |
| 1.0.0-preview76 | 330 | 12/1/2023 |
| 1.0.0-preview75 | 337 | 12/1/2023 |
| 1.0.0-preview74 | 430 | 11/26/2023 |
| 1.0.0-preview73 | 423 | 11/7/2023 |
| 1.0.0-preview72 | 378 | 11/6/2023 |
| 1.0.0-preview71 | 402 | 11/3/2023 |
| 1.0.0-preview70 | 420 | 11/2/2023 |
| 1.0.0-preview69 | 379 | 11/2/2023 |
| 1.0.0-preview68 | 403 | 11/2/2023 |
| 1.0.0-preview67 | 381 | 11/2/2023 |
| 1.0.0-preview66 | 380 | 11/2/2023 |
| 1.0.0-preview65 | 370 | 11/2/2023 |
| 1.0.0-preview64 | 374 | 11/2/2023 |
| 1.0.0-preview63 | 373 | 11/2/2023 |
| 1.0.0-preview62 | 389 | 11/1/2023 |
| 1.0.0-preview61 | 396 | 11/1/2023 |
| 1.0.0-preview60 | 375 | 11/1/2023 |
| 1.0.0-preview59 | 390 | 11/1/2023 |
| 1.0.0-preview58 | 376 | 10/31/2023 |
| 1.0.0-preview57 | 382 | 10/31/2023 |
| 1.0.0-preview56 | 303 | 10/31/2023 |
| 1.0.0-preview55 | 325 | 10/31/2023 |
| 1.0.0-preview54 | 733 | 10/31/2023 |
| 1.0.0-preview53 | 316 | 10/31/2023 |
| 1.0.0-preview52 | 313 | 10/31/2023 |
| 1.0.0-preview51 | 319 | 10/31/2023 |
| 1.0.0-preview50 | 639 | 10/31/2023 |
| 1.0.0-preview48 | 308 | 10/31/2023 |
| 1.0.0-preview46 | 294 | 10/31/2023 |
| 1.0.0-preview45 | 329 | 10/31/2023 |
| 1.0.0-preview44 | 344 | 10/31/2023 |
| 1.0.0-preview43 | 315 | 10/31/2023 |
| 1.0.0-preview42 | 323 | 10/30/2023 |
| 1.0.0-preview41 | 333 | 10/30/2023 |
| 1.0.0-preview40 | 296 | 10/27/2023 |
| 1.0.0-preview39 | 335 | 10/27/2023 |
| 1.0.0-preview38 | 324 | 10/27/2023 |
| 1.0.0-preview37 | 326 | 10/27/2023 |
| 1.0.0-preview36 | 336 | 10/27/2023 |
| 1.0.0-preview35 | 355 | 10/27/2023 |
| 1.0.0-preview34 | 338 | 10/27/2023 |
| 1.0.0-preview33 | 328 | 10/26/2023 |
| 1.0.0-preview32 | 314 | 10/26/2023 |
| 1.0.0-preview31 | 324 | 10/26/2023 |
| 1.0.0-preview30 | 348 | 10/26/2023 |
| 1.0.0-preview29 | 324 | 10/26/2023 |
| 1.0.0-preview28 | 330 | 10/26/2023 |
| 1.0.0-preview27 | 351 | 10/26/2023 |
| 1.0.0-preview26 | 336 | 10/25/2023 |
| 1.0.0-preview25 | 334 | 10/23/2023 |
| 1.0.0-preview24 | 328 | 10/23/2023 |
| 1.0.0-preview23 | 325 | 10/23/2023 |
| 1.0.0-preview22 | 305 | 10/23/2023 |
| 1.0.0-preview21 | 309 | 10/23/2023 |
| 1.0.0-preview20 | 343 | 10/20/2023 |
| 1.0.0-preview19 | 344 | 10/19/2023 |
| 1.0.0-preview18 | 1,962 | 10/18/2023 |
| 1.0.0-preview16 | 389 | 10/11/2023 |
| 1.0.0-preview14 | 489 | 10/10/2023 |
| 1.0.0-preview13 | 238 | 10/10/2023 |
| 1.0.0-preview12 | 242 | 10/9/2023 |
| 1.0.0-preview11 | 236 | 10/9/2023 |
| 1.0.0-preview101 | 348 | 1/5/2024 |