package arez;

import javax.annotation.Nonnull;
import jsinterop.annotations.JsFunction;

/**
 * Interface that accepts an {@link Observer} that has been scheduled and
 * performs the actions required to run observer.
 *
 * <p>The interface is marked with the {@link JsFunction} annotation to communicate
 * to the GWT2 compiler that it is not necessary to generate class information
 * for the implementing methods which reduces code size somewhat.</p>
 */
@JsFunction
@FunctionalInterface
interface Reaction
{
  /**
   * React to changes, or throw an exception if unable to do so.
   *
   * @param observer the observer of changes.
   * @throws Throwable if there is an error reacting to changes.
   */
  void react( @Nonnull Observer observer )
    throws Throwable;
}

@@ -44,49 +44,8 @@
 ull;
-%0Aimport jsinterop.annotations.JsFunction;
 %0A%0A/*
@@ -176,257 +176,9 @@
 .%0A *
-%0A * %3Cp%3EThe interface is marked with the %7B@link JsFunction%7D annotation to communicate%0A * to the GWT2 compiler that it is not necessary to generate class information%0A * for the implementing methods which reduces code size somewhat.%3C/p%3E%0A */%0A@JsFunction
+/
 %0A@Fu

Remove JsFunction as in some cases it increases the code size