diff --git a/BallanceTasEditor/BallanceTasEditor/BallanceTasEditor.csproj b/BallanceTasEditor/BallanceTasEditor/BallanceTasEditor.csproj index efcd7cb..53f668b 100644 --- a/BallanceTasEditor/BallanceTasEditor/BallanceTasEditor.csproj +++ b/BallanceTasEditor/BallanceTasEditor/BallanceTasEditor.csproj @@ -17,7 +17,7 @@ - + diff --git a/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/ValidatorAdapter.cs b/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/ValidatorAdapter.cs index 555f1c0..98ae9d6 100644 --- a/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/ValidatorAdapter.cs +++ b/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/ValidatorAdapter.cs @@ -17,20 +17,16 @@ namespace BallanceTasEditor.Frontend.Validator { private readonly IValidator m_Validator; public ValidationResult? Validate(TIn value, ValidationContext validationContext) { - // YYC MARK: - // Due to the shitty behavior of LanguageExt - // which do not allow I return nullable class from Match, - // I was forcely use MatchUnsafe. - return m_Validator.Validate(value).MatchUnsafe( - Left: v => ValidationResult.Success, - Right: err => new ValidationResult(err) + return m_Validator.Validate(value).Match( + v => ValidationResult.Success, + err => new ValidationResult(err) ); } public TOut Conclude(TIn value) { return m_Validator.Validate(value).Match( - Left: v => v, - Right: _ => throw new InvalidOperationException("Can not unwrap an error casting.") + v => v, + _ => throw new InvalidOperationException("Can not unwrap an error casting.") ); } diff --git a/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/Validators.cs b/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/Validators.cs index deb387e..4e59ef4 100644 --- a/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/Validators.cs +++ b/BallanceTasEditor/BallanceTasEditor/Frontend/Validator/Validators.cs @@ -1,4 +1,4 @@ -using LanguageExt; +using OneOf; using System; using System.Collections.Generic; using System.Linq; @@ -8,11 +8,11 @@ using System.Threading.Tasks; namespace BallanceTasEditor.Frontend.Validator { public interface IValidator { - Either Validate(TIn value); + OneOf Validate(TIn value); } public sealed class FpsValidator : IValidator { - public Either Validate(string value) { + public OneOf Validate(string value) { if (uint.TryParse(value, System.Globalization.CultureInfo.InvariantCulture, out uint fps)) { if (Backend.FpsConverter.IsValidFps(fps)) { return fps; @@ -26,7 +26,7 @@ namespace BallanceTasEditor.Frontend.Validator { } public sealed class CountValidator : IValidator { - public Either Validate(string value) { + public OneOf Validate(string value) { if (int.TryParse(value, System.Globalization.CultureInfo.InvariantCulture, out int count)) { if (count > 0) { return count;