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