Skip to content

Accept an errorFactory when converting Maybe to Result #524

@blalonde

Description

@blalonde

Would this be possible ?

using System;

namespace CSharpFunctionalExtensions
{
    public static partial class MaybeExtensions
    {
        public static Result<T, E> ToResult<T, E>(in this Maybe<T> maybe, Func<E> errorFactory)
        {
            if (maybe.HasNoValue)
                return Result.Failure<T, E>(errorFactory());

            return Result.Success<T, E>(maybe.GetValueOrThrow());
        }
    }
}

It would avoid calling expensive error building code when maybe has a value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions