package com.usenative;
import com.facebook.react.bridge.*;
// 基本类型处理器，基本类型返回值，其它类型返回内部变量名称
public class Converter {
    public static void promiseToJavaScript(String objectName,Promise promise) throws Exception{
        RJavaObject obj=RJavaObjectManager.get(objectName);
        Class objType=obj.getType();
        Object objValue=obj.getObject();

        if(objType==int.class || objType==Class.forName("java.lang.Integer")){
            promise.resolve((int)objValue);
        }else if(objType==float.class){
            promise.resolve((float)objValue);
        }else if(objType==double.class){
            promise.resolve((double)objValue);
        }else if(objType==Class.forName("java.lang.CharSequence") || objType==Class.forName("java.lang.String")){
            promise.resolve((String)objValue);
        }else if(objType==boolean.class || objType==Class.forName("java.lang.Boolean")){
            promise.resolve((Boolean)objValue);
        }else{
            // 原先返回字符串Refrence Type，自v1.0.3起，返回其内部变量名称（即传进来的字符串）
            promise.resolve(objectName);
        }
    }
}
