package it.cavallium.dbengine.client; import it.cavallium.dbengine.database.collections.Joiner.ValueGetter; import lombok.Value; import reactor.core.publisher.Flux; @Value public class SearchResultKeys { Flux> results; long totalHitsCount; public static SearchResultKeys empty() { return new SearchResultKeys<>(Flux.empty(), 0L); } public SearchResult withValues(ValueGetter valuesGetter) { return new SearchResult<>( results.flatMapSequential(item -> valuesGetter .get(item.getKey()) .map(value -> new SearchResultItem<>(item.getKey(), value, item.getScore()))), totalHitsCount ); } }