package com.monthyearpicker;

import androidx.annotation.Nullable;

import com.facebook.react.TurboReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.module.model.ReactModuleInfo;
import com.facebook.react.module.model.ReactModuleInfoProvider;
import com.facebook.react.uimanager.ViewManager;

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class RNMonthYearPickerPackage extends TurboReactPackage {

  @Nullable
  @Override
  public NativeModule getModule(String name, ReactApplicationContext reactContext) {
    if (name.equals(RNMonthYearPickerModule.REACT_CLASS)) {
      return new RNMonthYearPickerModule(reactContext);
    }
    return null;
  }

  @Override
  public ReactModuleInfoProvider getReactModuleInfoProvider() {
    return () -> {
      Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
      moduleInfos.put(
        RNMonthYearPickerModule.REACT_CLASS,
        new ReactModuleInfo(
          RNMonthYearPickerModule.REACT_CLASS,
          RNMonthYearPickerModule.REACT_CLASS,
          false,  // canOverrideExistingModule
          false,  // needsEagerInit
          true,   // hasConstants
          false,  // isCxxModule
          true    // isTurboModule
        )
      );
      return moduleInfos;
    };
  }

  @Override
  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Collections.emptyList();
  }
}
