Cria um novo valor Either<TLeft, TRight>, onde o valor encapsulado é o resultado da função mapping sobre o valor either, de acordo com seu estado.
Parâmetros
Retorno
Func<TRight, TRightResult> mappingWhenRight
Func<TLeft, TLeftResult> mappingWhenLeft
Either<TLeft, TRight> either
Either<TLeftResult, TRightResult>
Como usar
Esta função é comumente utilizada para alterar um valor Either através de uma função, semelhante ao Map dos valores opcionais.
Esta função utiliza o Match para extrair o valor do tipo Either<TLeft, TRight>, aplica a função mappingWhenRight ou mappingWhenLeft de acordo com o estado do valor.
Quando o valor Either está no estado IsRight e os tipos são transformados
Você pode utilizar os métodos MapLeft e MapRight para obter o mesmo resultado, mas desta vez aplicando a função somente em um dos valores.
Sempre que estas funções forem aplicados para valores Either que não estão do mesmo tipo que a função de avaliação será retornado o próprio valor Either.
MapRight Quando o valor Either está no estado IsRight
MapRight Quando o valor Either está no estado IsLeft