package com.xg.navigation.bridge;

import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.WritableMap;

import javax.annotation.Nullable;

/**
 * Promise工具管理类
 */
public class PromiseUtil {

    public static void resolveToJs(Promise promise, @Nullable Object value) {
        if (promise != null) {
            promise.resolve(value);
        }
    }

    public static void rejectToJs(Promise promise, Throwable reason) {
        if (promise != null) {
            promise.reject(reason);
        }
    }

    public static void rejectToJs(Promise promise, String code, String message) {
        if (promise != null) {
            promise.reject(code,message);
        }
    }

    public static void rejectToJs(Promise promise, String code, Throwable e) {
        if (promise != null) {
            promise.reject(code,e);
        }
    }

    public static void rejectToJs(Promise promise, String code, String message, Throwable e) {
        if (promise != null) {
            promise.reject(code,message,e);
        }
    }

    public static void rejectToJs(Promise promise, String message) {
        if (promise != null) {
            promise.reject(message);
        }
    }
}
