// Path: app/src/main/java/info/izumin/android/sunazuri/domain/RootStore.java
// @Store({
//         AuthorizedUsersReducer.class,
//         LoginInfoReducer.class,
//         TeamsReducer.class
// })
// public interface RootStore extends BaseStore {
//     AuthorizedUsers getAuthorizedUsers();
//     Teams getTeams();
//     LoginInfo getLoginInfo();
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/model/AuthorizedUsers.java
// public class AuthorizedUsers extends ArrayList<AuthorizedUser> {
//     public static final String TAG = AuthorizedUsers.class.getSimpleName();
// 
//     public AuthorizedUsers() {
//         super();
//     }
// 
//     public AuthorizedUsers(Collection<? extends AuthorizedUser> collection) {
//         super(collection);
//     }
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/model/Teams.java
// public class Teams extends ArrayList<Team> {
//     public static final String TAG = Teams.class.getSimpleName();
// 
//     public Teams() {
//     }
// 
//     public Teams(Collection<? extends Team> collection) {
//         super(collection);
//     }
// }


import dagger.Module;
import dagger.Provides;
import info.izumin.android.droidux.thunk.ThunkMiddleware;
import info.izumin.android.sunazuri.data.reducer.AuthorizedUsersReducer;
import info.izumin.android.sunazuri.data.reducer.LoginInfoReducer;
import info.izumin.android.sunazuri.data.reducer.TeamsReducer;
import info.izumin.android.sunazuri.domain.DroiduxRootStore;
import info.izumin.android.sunazuri.domain.RootStore;
import info.izumin.android.sunazuri.domain.model.AuthorizedUsers;
import info.izumin.android.sunazuri.domain.model.Teams;
package info.izumin.android.sunazuri.data;


/**
 * Created by izumin on 5/14/2016 AD.
 */
@Module
public class DataModule {
    public static final String TAG = DataModule.class.getSimpleName();

    @Provides
    @DataScope
    RootStore rootStore() {
        return DroiduxRootStore.builder()
                .setReducer(new AuthorizedUsersReducer(), new AuthorizedUsers())
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/RootStore.java
// @Store({
//         AuthorizedUsersReducer.class,
//         LoginInfoReducer.class,
//         TeamsReducer.class
// })
// public interface RootStore extends BaseStore {
//     AuthorizedUsers getAuthorizedUsers();
//     Teams getTeams();
//     LoginInfo getLoginInfo();
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/model/AuthorizedUsers.java
// public class AuthorizedUsers extends ArrayList<AuthorizedUser> {
//     public static final String TAG = AuthorizedUsers.class.getSimpleName();
// 
//     public AuthorizedUsers() {
//         super();
//     }
// 
//     public AuthorizedUsers(Collection<? extends AuthorizedUser> collection) {
//         super(collection);
//     }
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/model/Teams.java
// public class Teams extends ArrayList<Team> {
//     public static final String TAG = Teams.class.getSimpleName();
// 
//     public Teams() {
//     }
// 
//     public Teams(Collection<? extends Team> collection) {
//         super(collection);
//     }
// }


// Path: app/src/main/java/info/izumin/android/sunazuri/data/DataModule.java
import dagger.Module;
import dagger.Provides;
import info.izumin.android.droidux.thunk.ThunkMiddleware;
import info.izumin.android.sunazuri.data.reducer.AuthorizedUsersReducer;
import info.izumin.android.sunazuri.data.reducer.LoginInfoReducer;
import info.izumin.android.sunazuri.data.reducer.TeamsReducer;
import info.izumin.android.sunazuri.domain.DroiduxRootStore;
import info.izumin.android.sunazuri.domain.RootStore;
import info.izumin.android.sunazuri.domain.model.AuthorizedUsers;
import info.izumin.android.sunazuri.domain.model.Teams;

package info.izumin.android.sunazuri.data;


/**
 * Created by izumin on 5/14/2016 AD.
 */
@Module
public class DataModule {
    public static final String TAG = DataModule.class.getSimpleName();

    @Provides
    @DataScope
    RootStore rootStore() {
        return DroiduxRootStore.builder()
                .setReducer(new AuthorizedUsersReducer(), new AuthorizedUsers())
                .setReducer(new TeamsReducer(), new Teams())