Example usage for com.facebook.react.bridge ReadableArray getType

List of usage examples for com.facebook.react.bridge ReadableArray getType

Introduction

In this page you can find the example usage for com.facebook.react.bridge ReadableArray getType.

Prototype

@NonNull
    ReadableType getType(int index);

Source Link

Usage

From source file:com.adjust.nativemodule.AdjustUtil.java

License:Open Source License

/** 
 * toList converts a {@link ReadableArray} into an ArrayList. 
 * /*from  w  w w  .j  a  v  a2  s. co m*/
 * @param readableArray The ReadableArray to be conveted. 
 * @return An ArrayList containing the data that was in the ReadableArray. 
 */
public static List<Object> toList(@Nullable ReadableArray readableArray) {
    if (readableArray == null) {
        return null;
    }

    List<Object> result = new ArrayList<>(readableArray.size());

    for (int index = 0; index < readableArray.size(); index++) {
        ReadableType readableType = readableArray.getType(index);

        switch (readableType) {
        case Null:
            break;
        case Boolean:
            result.add(readableArray.getBoolean(index));
            break;
        case Number:
            // Can be int or double. 
            double tmp = readableArray.getDouble(index);

            if (tmp == (int) tmp) {
                result.add((int) tmp);
            } else {
                result.add(tmp);
            }

            break;
        case String:
            result.add(readableArray.getString(index));
            break;
        case Map:
            result.add(toMap(readableArray.getMap(index)));
            break;
        case Array:
            result = toList(readableArray.getArray(index));
            break;
        default:
            AdjustFactory.getLogger().error("Could not convert object with index: " + index + ".");
        }
    }

    return result;
}

From source file:com.amazonaws.reactnative.core.AWSRNClientMarshaller.java

License:Open Source License

/**
 * toList converts a {@link ReadableArray} into an ArrayList.
 *
 * @param readableArray The ReadableArray to be conveted.
 * @return An ArrayList containing the data that was in the ReadableArray.
 *///from ww w. j a  v  a 2s.c om
public static List<Object> readableArrayToList(final @Nullable ReadableArray readableArray) {
    if (readableArray == null) {
        return null;
    }

    List<Object> result = new ArrayList<>(readableArray.size());
    for (int index = 0; index < readableArray.size(); index++) {
        final ReadableType readableType = readableArray.getType(index);
        switch (readableType) {
        case Null:
            result.add(String.valueOf(index));
            break;
        case Boolean:
            result.add(readableArray.getBoolean(index));
            break;
        case Number:
            // Can be int or double.
            double tmp = readableArray.getDouble(index);
            if (tmp == (int) tmp) {
                result.add((int) tmp);
            } else {
                result.add(tmp);
            }
            break;
        case String:
            result.add(readableArray.getString(index));
            break;
        case Map:
            result.add(readableMapToMap(readableArray.getMap(index)));
            break;
        case Array:
            result = readableArrayToList(readableArray.getArray(index));
            break;
        default:
            throw new IllegalArgumentException("Could not convert object with index: " + index + ".");
        }
    }

    return result;
}

From source file:com.boundlessgeo.spatialconnect.jsbridge.RNSpatialConnect.java

License:Apache License

private ArrayList<Object> convertArrayToArrayList(ReadableArray readableArray) {
    ArrayList<Object> jsonArray = new ArrayList<>();
    for (int i = 0; i < readableArray.size(); i++) {
        switch (readableArray.getType(i)) {
        case Null:
            break;
        case Boolean:
            jsonArray.add(readableArray.getBoolean(i));
            break;
        case Number:
            jsonArray.add(readableArray.getDouble(i));
            break;
        case String:
            jsonArray.add(readableArray.getString(i));
            break;
        case Map:
            jsonArray.add(convertMapToHashMap(readableArray.getMap(i)));
            break;
        case Array:
            jsonArray.add(convertArrayToArrayList(readableArray.getArray(i)));
            break;
        }/*from  ww w  .  j a  v a  2  s. c  om*/
    }

    return jsonArray;
}

From source file:com.boundlessgeo.spatialconnect.jsbridge.SCBridge.java

License:Apache License

private static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException {
    JSONArray array = new JSONArray();
    for (int i = 0; i < readableArray.size(); i++) {
        switch (readableArray.getType(i)) {
        case Null:
            break;
        case Boolean:
            array.put(readableArray.getBoolean(i));
            break;
        case Number:
            array.put(readableArray.getDouble(i));
            break;
        case String:
            array.put(readableArray.getString(i));
            break;
        case Map:
            array.put(convertMapToJson(readableArray.getMap(i)));
            break;
        case Array:
            array.put(convertArrayToJson(readableArray.getArray(i)));
            break;
        }//from ww  w  .j  av  a  2 s  .c  om
    }
    return array;
}

From source file:com.ibatimesheet.RNJSONUtils.java

License:Apache License

public static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException {
    JSONArray array = new JSONArray();
    for (int i = 0; i < readableArray.size(); i++) {
        switch (readableArray.getType(i)) {
        case Null:
            break;
        case Boolean:
            array.put(readableArray.getBoolean(i));
            break;
        case Number:
            array.put(readableArray.getDouble(i));
            break;
        case String:
            array.put(readableArray.getString(i));
            break;
        case Map:
            array.put(convertMapToJson(readableArray.getMap(i)));
            break;
        case Array:
            array.put(convertArrayToJson(readableArray.getArray(i)));
            break;
        }// w  w w  .j  a  v  a  2  s .  com
    }
    return array;
}

From source file:com.microsoft.appcenter.reactnative.analytics.ReactNativeUtils.java

License:Open Source License

public static JSONArray convertReadableArrayToJsonArray(ReadableArray arr) throws JSONException {
    JSONArray jsonArr = new JSONArray();
    for (int i = 0; i < arr.size(); i++) {
        ReadableType type = arr.getType(i);
        switch (type) {
        case Map:
            jsonArr.put(convertReadableMapToJsonObject(arr.getMap(i)));
            break;
        case Array:
            jsonArr.put(convertReadableArrayToJsonArray(arr.getArray(i)));
            break;
        case String:
            jsonArr.put(arr.getString(i));
            break;
        case Number:
            Double number = arr.getDouble(i);
            if ((number == Math.floor(number)) && !Double.isInfinite(number)) {
                jsonArr.put(number.longValue());
            } else {
                jsonArr.put(number.doubleValue());
            }//www .j av a2  s.c  o m

            break;
        case Boolean:
            jsonArr.put(arr.getBoolean(i));
            break;
        case Null:
            jsonArr.put(null);
            break;
        }
    }

    return jsonArr;
}

From source file:com.reactlibrary.SGScanditPicker.java

License:Apache License

@Override
public void receiveCommand(BarcodePicker view, int commandType, @Nullable final ReadableArray args) {

    int argCount = args == null ? 0 : args.size();
    final WritableMap promiseResponse = Arguments.createMap();
    if (argCount > 0) {
        if (args.getType(args.size() - 1) == ReadableType.Map) {
            ReadableMap map = args.getMap(args.size() - 1);
            if (map.hasKey("commandid")) {
                int commandid = map.getInt("commandid");
                promiseResponse.putInt("commandid", commandid);
                argCount--;/*  www.j  a  v  a 2s  .  co m*/
            }
        }
    }

    switch (commandType) {
    case COMMAND_STOP_SCANNING: {
        picker.stopScanning();
        return;
    }
    case COMMAND_START_SCANNING: {
        picker.startScanning(false, new Runnable() {
            @Override
            public void run() {
                new PromiseSender(promiseResponse) {
                    @Override
                    public Object getResponse() {
                        return "Scan started";
                    }
                };
            }
        });
        return;
    }
    case COMMAND_START_SCANNING_IN_PAUSED_STATE: {
        picker.startScanning(true);
        return;
    }
    case COMMAND_PAUSE_SCANNING: {
        picker.pauseScanning();
        return;
    }
    case COMMAND_SET_SETTINGS: {
        if (argCount > 0) {
            ReadableMap map = args.getMap(0);
            setSettings(null, map);
            new PromiseSender(promiseResponse) {
                @Override
                public Object getResponse() {
                    return ScanditBarcodeHelpers.scanSettingsToWritableMap(scanSettings);
                }
            };
        } else {
            final int c = argCount;
            new PromiseSender(promiseResponse) {
                @Override
                public Object getResponse() {
                    promiseFailed = true;
                    return "Cannot set null settings" + c;
                }
            };
        }
        return;
    }
    case COMMAND_GET_SETTINGS: {
        new PromiseSender(promiseResponse) {
            @Override
            public Object getResponse() {
                return ScanditBarcodeHelpers.scanSettingsToWritableMap(scanSettings);
            }
        };
        emitSettings();
        return;
    }

    default:
        throw new IllegalArgumentException(String.format(Locale.ENGLISH,
                "Unsupported command %d received by %s.", commandType, getClass().getSimpleName()));
    }
}

From source file:com.transistorsoft.rnbackgroundgeolocation.RNBackgroundGeolocationModule.java

private static JSONArray arrayToJson(ReadableArray readableArray) throws JSONException {
    JSONArray jsonArray = new JSONArray();
    for (int i = 0; i < readableArray.size(); i++) {
        ReadableType valueType = readableArray.getType(i);
        switch (valueType) {
        case Null:
            jsonArray.put(JSONObject.NULL);
            break;
        case Boolean:
            jsonArray.put(readableArray.getBoolean(i));
            break;
        case Number:
            jsonArray.put(readableArray.getInt(i));
            break;
        case String:
            jsonArray.put(readableArray.getString(i));
            break;
        case Map:
            jsonArray.put(mapToJson(readableArray.getMap(i)));
            break;
        case Array:
            jsonArray.put(arrayToJson(readableArray.getArray(i)));
            break;
        }/*from   www  . j ava  2  s  . c  o  m*/
    }
    return jsonArray;
}

From source file:it.near.sdk.reactnative.rnnearitsdk.RNNearItUtils.java

License:Mozilla Public License

public static JSONArray toJSONArray(ReadableArray readableArray) throws JSONException {
    JSONArray jsonArray = new JSONArray();

    for (int i = 0; i < readableArray.size(); i++) {
        ReadableType type = readableArray.getType(i);

        switch (type) {
        case Null:
            jsonArray.put(i, null);//from   ww  w .j  av  a  2s  . co m
            break;
        case Boolean:
            jsonArray.put(i, readableArray.getBoolean(i));
            break;
        case Number:
            jsonArray.put(i, readableArray.getDouble(i));
            break;
        case String:
            jsonArray.put(i, readableArray.getString(i));
            break;
        case Map:
            jsonArray.put(i, toJSONObject(readableArray.getMap(i)));
            break;
        case Array:
            jsonArray.put(i, toJSONArray(readableArray.getArray(i)));
            break;
        }
    }

    return jsonArray;
}

From source file:it.near.sdk.reactnative.rnnearitsdk.RNNearItUtils.java

License:Mozilla Public License

public static Object[] toArray(ReadableArray readableArray) {
    Object[] array = new Object[readableArray.size()];

    for (int i = 0; i < readableArray.size(); i++) {
        ReadableType type = readableArray.getType(i);

        switch (type) {
        case Null:
            array[i] = null;/*from  w w  w  .j  a v a 2 s.  c om*/
            break;
        case Boolean:
            array[i] = readableArray.getBoolean(i);
            break;
        case Number:
            array[i] = readableArray.getDouble(i);
            break;
        case String:
            array[i] = readableArray.getString(i);
            break;
        case Map:
            array[i] = toMap(readableArray.getMap(i));
            break;
        case Array:
            array[i] = toArray(readableArray.getArray(i));
            break;
        }
    }

    return array;
}