diff --git a/src/RailwayResult/IResult.cs b/src/RailwayResult/IResult.cs new file mode 100644 index 0000000..a9bddae --- /dev/null +++ b/src/RailwayResult/IResult.cs @@ -0,0 +1,13 @@ +namespace RailwayResult; + +public interface IResult +{ + public bool IsSuccess { get; } + public bool IsFailure { get; } + public Error Error { get; } +} + +public interface IResult : IResult +{ + public TValue Value { get; } +} diff --git a/src/RailwayResult/Result.Generic.cs b/src/RailwayResult/Result.Generic.cs index 8a85535..0f3404b 100644 --- a/src/RailwayResult/Result.Generic.cs +++ b/src/RailwayResult/Result.Generic.cs @@ -2,7 +2,7 @@ namespace RailwayResult; -public sealed class Result +public sealed class Result : IResult { public bool IsSuccess { get; } public bool IsFailure => !IsSuccess; diff --git a/src/RailwayResult/Result.cs b/src/RailwayResult/Result.cs index 876dfe2..fa811c4 100644 --- a/src/RailwayResult/Result.cs +++ b/src/RailwayResult/Result.cs @@ -2,7 +2,7 @@ namespace RailwayResult; -public sealed class Result +public sealed class Result : IResult { public bool IsSuccess { get; } public bool IsFailure => !IsSuccess;