/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @generated by an internal plugin build system
 */

#ifndef RN_DISABLE_OSS_PLUGIN_HEADER

// OSS-compatibility layer

#import "CoreModulesPlugins.h"

#import <string_view>

using namespace std::literals;

Class RCTCoreModulesClassProvider(const char *name)
{

  if (name == "AccessibilityManager"sv) {
    return RCTAccessibilityManagerCls();
  }

#if !TARGET_OS_TV
  if (name == "ActionSheetManager"sv) {
    return RCTActionSheetManagerCls();
  }
#endif

  if (name == "AlertManager"sv) {
    return RCTAlertManagerCls();
  }

  if (name == "AppState"sv) {
    return RCTAppStateCls();
  }

  if (name == "Appearance"sv) {
    return RCTAppearanceCls();
  }

  if (name == "Clipboard"sv) {
    return RCTClipboardCls();
  }

  if (name == "DevLoadingView"sv) {
    return RCTDevLoadingViewCls();
  }

  if (name == "DevMenu"sv) {
    return RCTDevMenuCls();
  }

  if (name == "DevSettings"sv) {
    return RCTDevSettingsCls();
  }

  if (name == "DeviceInfo"sv) {
    return RCTDeviceInfoCls();
  }

  if (name == "EventDispatcher"sv) {
    return RCTEventDispatcherCls();
  }

  if (name == "ExceptionsManager"sv) {
    return RCTExceptionsManagerCls();
  }

  if (name == "I18nManager"sv) {
    return RCTI18nManagerCls();
  }

  if (name == "KeyboardObserver"sv) {
    return RCTKeyboardObserverCls();
  }

  if (name == "LogBox"sv) {
    return RCTLogBoxCls();
  }

  if (name == "PerfMonitor"sv) {
    return RCTPerfMonitorCls();
  }

  if (name == "PlatformConstants"sv) {
    return RCTPlatformCls();
  }

  if (name == "RedBox"sv) {
    return RCTRedBoxCls();
  }

  if (name == "SourceCode"sv) {
    return RCTSourceCodeCls();
  }

  if (name == "StatusBarManager"sv) {
    return RCTStatusBarManagerCls();
  }

  if (name == "Timing"sv) {
    return RCTTimingCls();
  }

  if (name == "WebSocketModule"sv) {
    return RCTWebSocketModuleCls();
  }

  if (name == "BlobModule"sv) {
    return RCTBlobManagerCls();
  }

  return nil;
}

#endif // RN_DISABLE_OSS_PLUGIN_HEADER
