package com.vexoanalytics;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.vexoanalytics.asyncstorage.AsyncStorageModule;
import com.vexoanalytics.deviceinfo.RNDeviceModule;
import com.vexoanalytics.mask.VexoMaskViewManager;
import com.vexoanalytics.mask.VexoUnmaskViewManager;
import com.vexoanalytics.vexo.RNVexoModule;
import com.vexoanalytics.viewshot.RNViewShotModule;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class VexoAnalyticsPackage implements ReactPackage {

  @Override
  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Arrays.asList(
      new VexoMaskViewManager(),
      new VexoUnmaskViewManager()
    );
  }

  @Override
  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
    List<NativeModule> modules = new ArrayList<>();

    modules.add(new AsyncStorageModule(reactContext));
    modules.add(new RNDeviceModule(reactContext));
    modules.add(new RNViewShotModule(reactContext));
    modules.add(new RNVexoModule(reactContext));

    return modules;
  }
}
