1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-19 16:33:36 +03:00

invert != revert actually @mctaylors

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
This commit is contained in:
Macintxsh 2023-12-31 14:27:54 +03:00
parent 940799320a
commit fa28cd35bd
Signed by: mctaylors
GPG key ID: 7181BEBE676903C1

View file

@ -33,9 +33,9 @@ public partial class TimeSpanParser : AbstractTypeParser<TimeSpan>
} }
var matches = ParseRegex().Matches(timeSpanString); var matches = ParseRegex().Matches(timeSpanString);
return matches.Count is 0 return matches.Count > 0
? new ArgumentInvalidError(nameof(timeSpanString), "The regex did not produce any matches.") ? ParseFromRegex(matches)
: ParseFromRegex(matches); : new ArgumentInvalidError(nameof(timeSpanString), "The regex did not produce any matches.");
} }
private static Result<TimeSpan> ParseFromRegex(MatchCollection matches) private static Result<TimeSpan> ParseFromRegex(MatchCollection matches)
@ -50,10 +50,9 @@ public partial class TimeSpanParser : AbstractTypeParser<TimeSpan>
{ {
foreach ((var key, var groupValue) in groups) foreach ((var key, var groupValue) in groups)
{ {
if (!double.TryParse(groupValue, out var parsedGroupValue) || if (!int.TryParse(groupValue, out var parsedIntegerValue))
!int.TryParse(groupValue, out var parsedIntegerValue))
{ {
return new ArgumentInvalidError(nameof(groupValue), "The input value encountered a parsing error."); return new ArgumentInvalidError(nameof(groupValue), "The input value was not an integer.");
} }
var now = DateTimeOffset.UtcNow; var now = DateTimeOffset.UtcNow;
@ -61,11 +60,11 @@ public partial class TimeSpanParser : AbstractTypeParser<TimeSpan>
{ {
"Years" => now.AddYears(parsedIntegerValue) - now, "Years" => now.AddYears(parsedIntegerValue) - now,
"Months" => now.AddMonths(parsedIntegerValue) - now, "Months" => now.AddMonths(parsedIntegerValue) - now,
"Weeks" => TimeSpan.FromDays(parsedGroupValue * 7), "Weeks" => TimeSpan.FromDays(parsedIntegerValue * 7),
"Days" => TimeSpan.FromDays(parsedGroupValue), "Days" => TimeSpan.FromDays(parsedIntegerValue),
"Hours" => TimeSpan.FromHours(parsedGroupValue), "Hours" => TimeSpan.FromHours(parsedIntegerValue),
"Minutes" => TimeSpan.FromMinutes(parsedGroupValue), "Minutes" => TimeSpan.FromMinutes(parsedIntegerValue),
"Seconds" => TimeSpan.FromSeconds(parsedGroupValue), "Seconds" => TimeSpan.FromSeconds(parsedIntegerValue),
_ => throw new ArgumentOutOfRangeException(key) _ => throw new ArgumentOutOfRangeException(key)
}; };
} }