From f940ff42f4aeedd0b45073c37a3efe095766147c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 12 Apr 2026 11:45:30 +0000
Subject: [PATCH 1/3] Add string.Reverse() extension method and tests
Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/22a1c7f5-4dc9-47a5-87d1-6a97e9f132ad
Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
---
PowerKit.Tests/StringExtensionsTests.cs | 10 ++++++++++
PowerKit/Extensions/StringExtensions.cs | 10 ++++++++++
2 files changed, 20 insertions(+)
diff --git a/PowerKit.Tests/StringExtensionsTests.cs b/PowerKit.Tests/StringExtensionsTests.cs
index a60e97a..a35e27b 100644
--- a/PowerKit.Tests/StringExtensionsTests.cs
+++ b/PowerKit.Tests/StringExtensionsTests.cs
@@ -84,4 +84,14 @@ public void ToSnakeCase_Test()
"hello".ToSnakeCase().Should().Be("hello");
"".ToSnakeCase().Should().Be("");
}
+
+ [Fact]
+ public void Reverse_Test()
+ {
+ // Act & assert
+ "hello".Reverse().Should().Be("olleh");
+ "abcde".Reverse().Should().Be("edcba");
+ "a".Reverse().Should().Be("a");
+ "".Reverse().Should().Be("");
+ }
}
diff --git a/PowerKit/Extensions/StringExtensions.cs b/PowerKit/Extensions/StringExtensions.cs
index 101fe1c..4af9dfd 100644
--- a/PowerKit/Extensions/StringExtensions.cs
+++ b/PowerKit/Extensions/StringExtensions.cs
@@ -97,5 +97,15 @@ public string SeparateWords(char separator)
/// Converts the PascalCase string to snake_case (e.g., "FooBar" → "foo_bar").
///
public string ToSnakeCase() => str.SeparateWords('_').ToLowerInvariant();
+
+ ///
+ /// Returns the string with the characters in reverse order.
+ ///
+ public string Reverse()
+ {
+ var chars = str.ToCharArray();
+ Array.Reverse(chars);
+ return new string(chars);
+ }
}
}
From 5fa3df0175c49bb0c00dbfb36abd8b5d9bf8321e Mon Sep 17 00:00:00 2001
From: Oleksii Holub <1935960+Tyrrrz@users.noreply.github.com>
Date: Sun, 12 Apr 2026 15:35:43 +0300
Subject: [PATCH 2/3] Update PowerKit/Extensions/StringExtensions.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
PowerKit/Extensions/StringExtensions.cs | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/PowerKit/Extensions/StringExtensions.cs b/PowerKit/Extensions/StringExtensions.cs
index 4af9dfd..c79db84 100644
--- a/PowerKit/Extensions/StringExtensions.cs
+++ b/PowerKit/Extensions/StringExtensions.cs
@@ -103,9 +103,22 @@ public string SeparateWords(char separator)
///
public string Reverse()
{
- var chars = str.ToCharArray();
- Array.Reverse(chars);
- return new string(chars);
+ if (str.Length <= 1)
+ {
+ return str;
+ }
+
+ return string.Create(
+ str.Length,
+ str,
+ static (chars, source) =>
+ {
+ for (var i = 0; i < source.Length; i++)
+ {
+ chars[i] = source[source.Length - 1 - i];
+ }
+ }
+ );
}
}
}
From dca3116750291116cad638032843cb48b5fba647 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 14 Apr 2026 18:40:01 +0000
Subject: [PATCH 3/3] Update PolyShim to v2.9.0
Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/374b0050-6171-449a-a049-1752b539134e
Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
---
Directory.Packages.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 04d12ca..bca5099 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -8,7 +8,7 @@
-
+