using LanguageExt.Common; namespace W542.GandalfReborn.Extensions; public static class ResultExtensions { public static T GetValue(this Result result) { return result.Match( x => x, _ => default )!; } public static Result AsResult(this T result) { return new Result(result); } public static Result AsErrorResult(this Result result) { return result.Match>( _ => default, e => new Result(e) ); } public static Result AsErrorResult(this Result result) { return result.AsErrorResult(); } public static Result AsErrorResult(this string? errorMessage) { return new Result(new Exception(errorMessage)); } }