001package org.apache.tapestry5.webresources;
002
003import java.util.Optional;
004
005import org.apache.tapestry5.services.assets.StreamableResource;
006
007import com.google.javascript.jscomp.CompilerOptions;
008
009/**
010 * Provide CompilerOptions for the GoogleClosureMinimizer.
011 * TAP5-2661
012 *
013 * @since 5.7
014 */
015public interface GoogleClosureMinimizerOptionsProvider
016{
017    /**
018     * Returns the compiler options to be used by GoogleClosureMinimizer.
019     * 
020     * An empty Optional will result is the StreamableResource to be not minimized.
021     * @return Optional of the supposed compiler options, or empty to disable minimizer
022     */
023    Optional<CompilerOptions> providerOptions(StreamableResource resource);
024}