@@ -0,0 +1,1232 @@
+package redux.api.enhancer;%0A%0Aimport redux.api.Dispatcher;%0A%0A/**%0A * A middleware is an interface that composes a %7B@link Dispatcher%7D to return a new dispatch function. It often turns%0A * async actions into actions.%0A *%0A * @see %3Ca href=%22http://redux.js.org/docs/advanced/Middleware.html%22%3Ehttp://redux.js.org/docs/advanced/Middleware.html%3C/a%3E%0A *%0A * @param %3CS%3E The store type%0A */%0Ainterface Middleware%3CS%3E %7B%0A%0A    /**%0A     * Dispatches an action. This is the only way to trigger a state change.%0A     *%0A     * @see %3Ca href=%22http://redux.js.org/docs/Glossary.html#middleware%22%3Ehttp://redux.js.org/docs/Glossary.html#middleware%3C/a%3E%0A     *%0A     * @param stateProvider An interface to return the current state of the store.%0A     * @param action The action%0A     * @param next The next dispatcher in the chain%0A     * @return The action%0A     */%0A    Object dispatch(StateProvider%3CS%3E stateProvider, Object action, Dispatcher next);%0A%0A    /**%0A     * An interface to return the current state of the store.%0A     *%0A     * @param %3CS%3E The store type%0A     */%0A    interface StateProvider%3CS%3E %7B%0A%0A        /**%0A         * Returns the current state of the store.%0A         *%0A         * @return The current state of the store.%0A         */%0A        S getState();%0A%0A    %7D%0A%0A%7D%0A

Add middleware API.