package com.reactnativezoom.videosdk.convert;

import com.facebook.react.bridge.NoSuchKeyException;

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

import us.zoom.sdk.ZoomVideoSDKStreamingJoinStatus;

public class RNZoomVideoSdkStreamingJoinStatus {

    private static final Map<ZoomVideoSDKStreamingJoinStatus, String> streamingJoinStatus =
        new HashMap<ZoomVideoSDKStreamingJoinStatus, String>() {{
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_None, "ZoomVideoSDKStreamingJoinStatus_None");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Connecting, "ZoomVideoSDKStreamingJoinStatus_Connecting");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Joined, "ZoomVideoSDKStreamingJoinStatus_Joined");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Disconnecting, "ZoomVideoSDKStreamingJoinStatus_Disconnecting");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Reconnecting, "ZoomVideoSDKStreamingJoinStatus_Reconnecting");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Failed, "ZoomVideoSDKStreamingJoinStatus_Failed");
            put(ZoomVideoSDKStreamingJoinStatus.ZoomVideoSDKStreamingJoinStatus_Left, "ZoomVideoSDKStreamingJoinStatus_Left");
        }};

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