Skip to content

feat: Extension migration batch 03 with utility refactoring and dependency updates - #22

Merged
marioarce merged 12 commits into
developfrom
feature/extension-migration-batch-03
Jun 3, 2026
Merged

feat: Extension migration batch 03 with utility refactoring and dependency updates#22
marioarce merged 12 commits into
developfrom
feature/extension-migration-batch-03

Conversation

@marioarce

Copy link
Copy Markdown
Owner
  • Renamed utility classes for consistency: MathHelper to MathUtility, FileHelper to FileUtility
  • Refactored ValidationUtility to focus on boolean validation operations
  • Added new AssertionUtility for exception-throwing validation operations
  • Added new StreamUtility for stream operations and manipulations
  • Moved EnvironmentHelper from Helpers to Extensions.AspNetCore with .NET 8 optimizations
  • Enhanced EnumerableExtensions with new filtering and ordering methods
  • Improved GenericTypeExtensions documentation and XML comments
  • Refactored JsonExtensions to focus on element operations
  • Updated Microsoft.Extensions packages to version 8.0.0 for better compatibility
  • Updated Swashbuckle.AspNetCore to version 10.2.1 in WebSample
  • Updated all package documentation and README files for v0.3.0 release
  • Added comprehensive unit tests for new utility classes
  • Enhanced project references and dependencies across all packages

marioarce added 12 commits June 3, 2026 11:48
- Split validation functionality into separate AssertionUtility class
- Contains methods that throw exceptions when conditions fail
- Includes ArgumentNotNull, IsTrue, IsFalse, IsNotNull, ResultNotNull methods
- Follows Single Responsibility Principle for better architecture
- Replaces mixed assertion/validation in previous ValidationUtility
- Removed assertion methods and kept only boolean-returning validation methods
- Contains IsValidEmail, IsNumeric, and IsValidUrl methods
- Follows Single Responsibility Principle for validation operations
- Separates concerns between assertions (exceptions) and validations (booleans)
- Improves code organization and maintainability
- Renamed from FileHelper to FileUtility to follow consistent naming convention
- Contains SafeReadAllText, SafeWriteAllText, and GetFileSize methods
- Maintains all existing functionality with improved naming
- Aligns with architectural decision to use 'Utility' suffix for general utilities
- Improves discoverability and consistency across PowerCSharp.Utilities
- Renamed from MathHelper to MathUtility to follow consistent naming convention
- Contains Clamp, IsInRange, Percentage, angle conversions, and parity methods
- Maintains all existing mathematical functionality with improved naming
- Aligns with architectural decision to use 'Utility' suffix for general utilities
- Improves code organization and naming consistency across the project
- Moved from PowerCSharp.Compatibility to PowerCSharp.Utilities
- Contains DisposeStreams method for safe disposal of multiple streams
- No framework-specific dependencies, suitable for cross-framework use
- Renamed from StreamCleanupUtility to StreamUtility for consistency
- Improves architectural organization by placing general utilities correctly
- Enhanced XML documentation for FromHierarchy and CopyPropertiesTo methods
- Added comprehensive parameter descriptions and return value explanations
- Included practical code examples for real-world usage scenarios
- Added detailed remarks section explaining behavior and edge cases
- Improved method relationships and overload descriptions
- Follows XML documentation best practices for better developer experience
- Added Filter method for conditional filtering of sequences
- Added Order method with descending option for flexible sorting
- Maintained existing FirstOrDefaultSafe, IsNullOrEmpty, and Page methods
- Simplified complex filtering logic from source code for cross-framework compatibility
- Improves collection manipulation capabilities without external dependencies
- Provides LINQ-like functionality with simplified, framework-agnostic implementation
- Moved from PowerCSharp.Helpers to PowerCSharp.Extensions.AspNetCore.Helpers
- Contains .NET 8 specific optimizations with conditional compilation
- Includes GeneratedRegex attribute for improved regex performance
- Provides environment variable handling and development detection
- Added machine name sanitization and application version retrieval
- Properly isolates framework-specific code in correct architectural location
- Removed Configure method and PrivateConstructorContractResolver
- Simplified to focus only on JsonElement extension methods
- Contains Get methods for safe property and element access
- Maintains existing GetProperty and GetElement functionality
- Improves separation of concerns by removing configuration responsibilities
- Aligns with architectural decision to keep extensions focused and simple
 - Updated Swashbuckle.AspNetCore package from version 10.1.7 to 10.2.1 in WebSample project
 - Downgraded Microsoft.Extensions.DependencyInjection from 10.0.8 to 8.0.0
 - Downgraded Microsoft.Extensions.Options from 10.0.8 to 8.0.0
 - Updated version numbers across all package README files
 - Added detailed dependency version information
 - Added recent updates section for v0.3.0
 - Enhanced package compatibility documentation
@marioarce marioarce self-assigned this Jun 3, 2026
@marioarce
marioarce merged commit 3c6c980 into develop Jun 3, 2026
6 checks passed
@github-actions
github-actions Bot deleted the feature/extension-migration-batch-03 branch June 3, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant