package application.helper;

import lombok.extern.slf4j.Slf4j;

import java.util.Optional;

@Slf4j
public class CustomerHelper {
    /**
     * Construye de forma segura un ID de cliente a partir de su tipo y número.
     *
     * @param idType El tipo de identificación (ej. "V", "J").
     * @param idNumber El número de identificación.
     * @return Un {@link Optional} con el ID concatenado si ambos parámetros son válidos (no nulos ni vacíos),
     * o un {@code Optional.empty()} en caso contrario.
     */
    public static Optional<String> buildCustomerId(String idType, String idNumber) {
        return Optional.ofNullable(idType)
                .filter(type -> !type.isBlank())
                .flatMap(type -> Optional.ofNullable(idNumber)
                        .filter(number -> !number.isBlank())
                        .map(number -> type + number));
    }

}