// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.metrics;

import javax.annotation.Nonnull;
import java.util.function.Function;
import javax.annotation.Nullable;

public interface MetricProvider
{
    @Nullable
    MetricResults toMetricResults();
    
    @Nonnull
    default <T, R> Function<T, MetricProvider> maybe(@Nonnull final Function<T, R> func) {
        return (Function<T, MetricProvider>)(t -> {
            final Object r = func.apply(t);
            return (r instanceof MetricProvider) ? r : null;
        });
    }
}
