Example usage for com.facebook.react.bridge WritableArray pushNull

List of usage examples for com.facebook.react.bridge WritableArray pushNull

Introduction

In this page you can find the example usage for com.facebook.react.bridge WritableArray pushNull.

Prototype

void pushNull();

Source Link

Usage

From source file:co.rewen.statex.StateXModule.java

License:Open Source License

/**
 * Given an array of keys, this returns a map of (key, value) pairs for the keys found, and
 * (key, null) for the keys that haven't been found.
 *//*  www.j  av  a2s.  com*/
@ReactMethod
public void multiGet(final ReadableArray keys, final Callback callback) {
    if (keys == null) {
        callback.invoke(AsyncStorageErrorUtil.getInvalidKeyError(null), null);
        return;
    }

    new GuardedAsyncTask<Void, Void>(getReactApplicationContext()) {
        @Override
        protected void doInBackgroundGuarded(Void... params) {
            if (!ensureDatabase()) {
                callback.invoke(AsyncStorageErrorUtil.getDBError(null), null);
                return;
            }

            String[] columns = { KEY_COLUMN, VALUE_COLUMN };
            HashSet<String> keysRemaining = SetBuilder.newHashSet();
            WritableArray data = Arguments.createArray();
            for (int keyStart = 0; keyStart < keys.size(); keyStart += MAX_SQL_KEYS) {
                int keyCount = Math.min(keys.size() - keyStart, MAX_SQL_KEYS);
                Cursor cursor = mStateXDatabaseSupplier.get().query(TABLE_STATE, columns,
                        AsyncLocalStorageUtil.buildKeySelection(keyCount),
                        AsyncLocalStorageUtil.buildKeySelectionArgs(keys, keyStart, keyCount), null, null,
                        null);
                keysRemaining.clear();
                try {
                    if (cursor.getCount() != keys.size()) {
                        // some keys have not been found - insert them with null into the final array
                        for (int keyIndex = keyStart; keyIndex < keyStart + keyCount; keyIndex++) {
                            keysRemaining.add(keys.getString(keyIndex));
                        }
                    }

                    if (cursor.moveToFirst()) {
                        do {
                            WritableArray row = Arguments.createArray();
                            row.pushString(cursor.getString(0));
                            row.pushString(cursor.getString(1));
                            data.pushArray(row);
                            keysRemaining.remove(cursor.getString(0));
                        } while (cursor.moveToNext());
                    }
                } catch (Exception e) {
                    FLog.w(ReactConstants.TAG, e.getMessage(), e);
                    callback.invoke(AsyncStorageErrorUtil.getError(null, e.getMessage()), null);
                    return;
                } finally {
                    cursor.close();
                }

                for (String key : keysRemaining) {
                    WritableArray row = Arguments.createArray();
                    row.pushString(key);
                    row.pushNull();
                    data.pushArray(row);
                }
                keysRemaining.clear();
            }

            callback.invoke(null, data);
        }
    }.execute();
}

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

License:Open Source License

public static WritableArray jsonToReact(final JSONArray jsonArray) throws JSONException {
    final WritableArray writableArray = Arguments.createArray();
    for (int i = 0; i < jsonArray.length(); i++) {
        final Object value = jsonArray.get(i);
        if (value instanceof Float || value instanceof Double) {
            writableArray.pushDouble(jsonArray.getDouble(i));
        } else if (value instanceof Number) {
            writableArray.pushInt(jsonArray.getInt(i));
        } else if (value instanceof String) {
            writableArray.pushString(jsonArray.getString(i));
        } else if (value instanceof Boolean) {
            writableArray.pushBoolean(jsonArray.getBoolean(i));
        } else if (value instanceof JSONObject) {
            writableArray.pushMap(jsonToReact(jsonArray.getJSONObject(i)));
        } else if (value instanceof JSONArray) {
            writableArray.pushArray(jsonToReact(jsonArray.getJSONArray(i)));
        } else if (value == JSONObject.NULL) {
            writableArray.pushNull();
        }/*  w w  w.j a  v a2 s.  c o m*/
    }
    return writableArray;
}

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

License:Apache License

private WritableArray convertArrayToArrayList(List list) {
    WritableArray writableArray = Arguments.createArray();

    if (list.size() < 1) {
        return writableArray;
    }//from   w  ww .jav  a2  s .  c  o  m

    Object firstObject = list.get(0);
    if (firstObject == null) {
        for (int i = 0; i < list.size(); i++) {
            writableArray.pushNull();
        }
    } else if (firstObject instanceof Boolean) {
        for (Object object : list) {
            writableArray.pushBoolean((boolean) object);
        }
    } else if (firstObject instanceof Double) {
        for (Object object : list) {
            writableArray.pushDouble((double) object);
        }
    } else if (firstObject instanceof Integer) {
        for (Object object : list) {
            writableArray.pushInt((int) object);
        }
    } else if (firstObject instanceof Long) {
        for (Object object : list) {
            writableArray.pushDouble((long) object);
        }
    } else if (firstObject instanceof String) {
        for (Object object : list) {
            writableArray.pushString((String) object);
        }
    } else if (firstObject instanceof Map) {
        for (Object object : list) {
            writableArray.pushMap(convertHashMapToMap((Map) object));
        }
    } else if (firstObject instanceof List) {
        for (Object object : list) {
            writableArray.pushArray(convertArrayToArrayList((List) object));
        }
    }

    return writableArray;
}

From source file:com.microsoft.appcenter.reactnative.crashes.RNUtils.java

License:Open Source License

private static WritableArray convertJsonArrayToWritableArray(JSONArray jsonArr) throws JSONException {
    WritableArray arr = Arguments.createArray();
    for (int i = 0; i < jsonArr.length(); i++) {
        Object obj;/*  w  ww.  j a va  2 s .co m*/
        obj = jsonArr.get(i);
        if (obj instanceof JSONObject)
            arr.pushMap(convertJsonObjectToWritableMap((JSONObject) obj));
        else if (obj instanceof JSONArray)
            arr.pushArray(convertJsonArrayToWritableArray((JSONArray) obj));
        else if (obj instanceof String)
            arr.pushString((String) obj);
        else if (obj instanceof Double)
            arr.pushDouble((Double) obj);
        else if (obj instanceof Integer)
            arr.pushInt((Integer) obj);
        else if (obj instanceof Boolean)
            arr.pushBoolean((Boolean) obj);
        else if (obj == null)
            arr.pushNull();
        else
            throw new JSONException("Unrecognized object: " + obj);
    }
    return arr;
}

From source file:com.reactlibrary.ScanditBarcodeHelpers.java

License:Apache License

static public WritableArray jsonArrayToWritableArray(JSONArray json) {
    WritableArray array = Arguments.createArray();

    int size = json.length();
    for (int i = 0; i < size; i++) {
        Object value = null;/*  w  w  w .j a v  a2s  .  co  m*/
        try {
            value = json.get(i);

            if (value instanceof Boolean)
                array.pushBoolean((Boolean) value);
            else if (value instanceof String)
                array.pushString((String) value);
            else if (value instanceof Double)
                array.pushDouble((Double) value);
            else if (value instanceof Integer)
                array.pushInt((Integer) value);
            else if (value instanceof WritableMap)
                array.pushMap((WritableMap) value);
            else if (value instanceof WritableArray)
                array.pushArray((WritableArray) value);
            else if (value == null)
                array.pushNull();
            else if (value instanceof JSONArray) {
                array.pushArray(jsonArrayToWritableArray((JSONArray) value));
            } else if (value instanceof JSONObject) {
                array.pushMap(jsonObjectToWritableMap((JSONObject) value));
            }

            else
                Log.e("React", "Value type not handled: " + value.getClass());

        } catch (JSONException e) {
            Log.e("React", "Could get value of JSONArray item at index " + i);
        }
    }

    return array;
}

From source file:com.tkporter.fabrictwitterkit.FabricTwitterKitUtils.java

License:MIT License

private static WritableArray jsonToWritableArray(final JSONArray jsonArray) throws JSONException {
    final WritableArray writableArray = Arguments.createArray();
    for (int i = 0; i < jsonArray.length(); i++) {

        final Object value = jsonArray.get(i);
        if (value instanceof Float || value instanceof Double) {
            writableArray.pushDouble(jsonArray.getDouble(i));
        } else if (value instanceof Number) {
            writableArray.pushInt(jsonArray.getInt(i));
        } else if (value instanceof String) {
            writableArray.pushString(jsonArray.getString(i));
        } else if (value instanceof Boolean) {
            writableArray.pushBoolean(jsonArray.getBoolean(i));
        } else if (value instanceof JSONObject) {
            writableArray.pushMap(jsonToWritableMap(jsonArray.getJSONObject(i)));
        } else if (value instanceof JSONArray) {
            writableArray.pushArray(jsonToWritableArray(jsonArray.getJSONArray(i)));
        } else if (value == JSONObject.NULL) {
            writableArray.pushNull();
        }/*  w w  w.jav a 2  s .  c  om*/
    }
    return writableArray;
}

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

License:Mozilla Public License

public static WritableArray toWritableArray(Object[] array) {
    WritableArray writableArray = Arguments.createArray();

    for (int i = 0; i < array.length; i++) {
        Object value = array[i];/*from   w w w  .j a  v  a  2s.  com*/

        if (value == null) {
            writableArray.pushNull();
        }
        if (value instanceof Boolean) {
            writableArray.pushBoolean((Boolean) value);
        }
        if (value instanceof Double) {
            writableArray.pushDouble((Double) value);
        }
        if (value instanceof Integer) {
            writableArray.pushInt((Integer) value);
        }
        if (value instanceof String) {
            writableArray.pushString((String) value);
        }
        if (value instanceof Map) {
            writableArray.pushMap(toWritableMap((Map<String, Object>) value));
        }
        if (value.getClass().isArray()) {
            writableArray.pushArray(toWritableArray((Object[]) value));
        }
    }

    return writableArray;
}