jni::local_ref<NativeArray::jhybridobject> createReadableNativeArrayWithContents(folly::dynamic array) { if (array.isNull()) { return jni::local_ref<NativeArray::jhybridobject>(); } if (!array.isArray()) { jni::throwNewJavaException("com/facebook/react/bridge/UnexpectedNativeTypeException", "expected Array, got a %s", array.typeName()); } static auto readableNativeArrayClass = jni::findClassStatic("com/facebook/react/bridge/ReadableNativeArray"); static auto readableNativeArrayCtor = readableNativeArrayClass->getConstructor<NativeArray::jhybridobject()>(); auto jnewArray = readableNativeArrayClass->newObject(readableNativeArrayCtor); jni::cthis(jnewArray)->array = std::move(array); return jnewArray; }