package com.reactnativezoom.videosdk.convert;

import com.facebook.react.bridge.NoSuchKeyException;

import java.util.HashMap;
import java.util.Map;

import us.zoom.sdk.ZoomVideoSDKSubSessionStatus;

public class RNZoomVideoSdkSubSessionStatus {

  private static final Map<ZoomVideoSDKSubSessionStatus, String> statuses =
    new HashMap<ZoomVideoSDKSubSessionStatus, String>() {{
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_None, "None");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_Committed, "Committed");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_Withdrawn, "Withdrawn");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_Started, "Started");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_Stopping, "Stopping");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_CommitFailed, "CommitFailed");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_WithdrawFailed, "WithdrawFailed");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_StartFailed, "StartFailed");
      put(ZoomVideoSDKSubSessionStatus.ZoomVideoSDKSubSessionStatus_StopFailed, "StopFailed");
    }};

  public static String valueOf(ZoomVideoSDKSubSessionStatus status) {
    String result;
    try {
      result = (status != null) ? statuses.get(status) : null;
    } catch (NoSuchKeyException e) {
      result = null;
    }
    return result;
  }

}
