Skip to content

Commit

Permalink
chore: Format
Browse files Browse the repository at this point in the history
mrousavy committed Sep 14, 2024

Verified

This commit was signed with the committer’s verified signature.
mrousavy Marc Rousavy
1 parent 8e8e0ea commit 9c5baa4
Showing 3 changed files with 94 additions and 92 deletions.
Original file line number Diff line number Diff line change
@@ -35,12 +35,12 @@ class JAnyMap final : public jni::HybridClass<JAnyMap> {
static jni::local_ref<JAnyMap::javaobject> create(const std::shared_ptr<AnyMap>& map) {
return newObjectCxxArgs(map);
}
/**
* Create a new `JAnyMap` with the given pre-allocated size.
*/
static jni::local_ref<JAnyMap::javaobject> create(size_t size) {
return newObjectCxxArgs(size);
}
/**
* Create a new `JAnyMap` with the given pre-allocated size.
*/
static jni::local_ref<JAnyMap::javaobject> create(size_t size) {
return newObjectCxxArgs(size);
}

private:
explicit JAnyMap() {
@@ -142,15 +142,15 @@ class JAnyMap final : public jni::HybridClass<JAnyMap> {
void setNull(const jni::alias_ref<jni::JString>& key) {
_map->put(key, nullptr);
}
void setDouble(const jni::alias_ref<jni::JString>& key, double value) {
_map->put(key, jni::autobox(value));
}
void setBoolean(const jni::alias_ref<jni::JString>& key, bool value) {
_map->put(key, jni::autobox(value));
}
void setBigInt(const jni::alias_ref<jni::JString>& key, int64_t value) {
_map->put(key, jni::autobox(value));
}
void setDouble(const jni::alias_ref<jni::JString>& key, double value) {
_map->put(key, jni::autobox(value));
}
void setBoolean(const jni::alias_ref<jni::JString>& key, bool value) {
_map->put(key, jni::autobox(value));
}
void setBigInt(const jni::alias_ref<jni::JString>& key, int64_t value) {
_map->put(key, jni::autobox(value));
}
void setString(const jni::alias_ref<jni::JString>& key, const jni::alias_ref<jni::JString>& value) {
_map->put(key, value);
}
Original file line number Diff line number Diff line change
@@ -12,8 +12,8 @@ struct JSIConverter;

#include "AnyMap.hpp"
#include "JAnyMap.hpp"
#include "JSIConverter.hpp"
#include "JSIConverter+JObject.hpp"
#include "JSIConverter.hpp"
#include <fbjni/fbjni.h>
#include <jni.h>
#include <jsi/jsi.h>
@@ -33,10 +33,10 @@ struct JSIConverter<JAnyMap::javaobject> final {
jni::local_ref<JAnyMap::javaobject> map = JAnyMap::create(size);
jni::alias_ref<jni::JMap<jni::JString, jni::JObject>> javaMap = map->cthis()->getJavaMap();
for (size_t i = 0; i < size; i++) {
jsi::String prop = properties.getValueAtIndex(runtime, i).asString(runtime);
jsi::Value value = object.getProperty(runtime, prop);
javaMap->put(/* key */ jni::make_jstring(prop.utf8(runtime)),
/* value */ JSIConverter<jni::JObject>::fromJSI(runtime, value));
jsi::String prop = properties.getValueAtIndex(runtime, i).asString(runtime);
jsi::Value value = object.getProperty(runtime, prop);
javaMap->put(/* key */ jni::make_jstring(prop.utf8(runtime)),
/* value */ JSIConverter<jni::JObject>::fromJSI(runtime, value));
}

return map;
@@ -45,15 +45,16 @@ struct JSIConverter<JAnyMap::javaobject> final {
jsi::Object object(runtime);
auto map = arg->cthis()->getJavaMap();
for (const auto& entry : *map) {
jsi::String key = JSIConverter<jni::JString>::toJSI(runtime, entry.first).getString(runtime);
jni::alias_ref<jni::JObject> value = entry.second;
jsi::String key = JSIConverter<jni::JString>::toJSI(runtime, entry.first).getString(runtime);
jni::alias_ref<jni::JObject> value = entry.second;

object.setProperty(runtime, key, JSIConverter<jni::JObject>::toJSI(runtime, value));
object.setProperty(runtime, key, JSIConverter<jni::JObject>::toJSI(runtime, value));
}
return object;
}
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
if (!value.isObject()) return false;
if (!value.isObject())
return false;
jsi::Object object = value.getObject(runtime);
return isPlainObject(runtime, object);
}
Original file line number Diff line number Diff line change
@@ -10,11 +10,11 @@ template <typename T, typename Enable>
struct JSIConverter;
} // namespace margelo::nitro

#include "JSIConverter.hpp"
#include "JSIConverter+JString.hpp"
#include "JSIConverter+BoxedPrimitives.hpp"
#include "JSIConverter+JArrayClass.hpp"
#include "JSIConverter+JMap.hpp"
#include "JSIConverter+BoxedPrimitives.hpp"
#include "JSIConverter+JString.hpp"
#include "JSIConverter.hpp"
#include <fbjni/fbjni.h>
#include <jni.h>
#include <jsi/jsi.h>
@@ -23,77 +23,78 @@ namespace margelo::nitro {

using namespace facebook;

template<>
template <>
struct JSIConverter<jni::JObject> final {
static inline jsi::Value toJSI(jsi::Runtime& runtime, jni::alias_ref<jni::JObject> boxedValue) {
if (boxedValue->isInstanceOf(jni::JDouble::javaClassStatic())) {
// It's a double
return JSIConverter<jni::JDouble>::toJSI(runtime, jni::static_ref_cast<jni::JDouble>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JBoolean::javaClassStatic())) {
// It's a boolean
return JSIConverter<jni::JBoolean>::toJSI(runtime, jni::static_ref_cast<jni::JBoolean>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JLong::javaClassStatic())) {
// It's a long
return JSIConverter<jni::JLong>::toJSI(runtime, jni::static_ref_cast<jni::JLong>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JString::javaClassStatic())) {
// It's a string
return JSIConverter<jni::JString>::toJSI(runtime, jni::static_ref_cast<jni::JString>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JArrayClass<jni::JObject>::javaClassStatic())) {
// It's an array
return JSIConverter<jni::JArrayClass<jni::JObject>>::toJSI(runtime, jni::static_ref_cast<jni::JArrayClass<jni::JObject>>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JMap<jni::JString, jni::JObject>::javaClassStatic())) {
// It's a map
return JSIConverter<jni::JMap<jni::JString, jni::JObject>>::toJSI(runtime, jni::static_ref_cast<jni::JMap<jni::JString, jni::JObject>>(boxedValue));
} else [[unlikely]] {
throw std::runtime_error("Cannot convert \"" + boxedValue->toString() + "\" to jsi::Value!");
}
static inline jsi::Value toJSI(jsi::Runtime& runtime, jni::alias_ref<jni::JObject> boxedValue) {
if (boxedValue->isInstanceOf(jni::JDouble::javaClassStatic())) {
// It's a double
return JSIConverter<jni::JDouble>::toJSI(runtime, jni::static_ref_cast<jni::JDouble>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JBoolean::javaClassStatic())) {
// It's a boolean
return JSIConverter<jni::JBoolean>::toJSI(runtime, jni::static_ref_cast<jni::JBoolean>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JLong::javaClassStatic())) {
// It's a long
return JSIConverter<jni::JLong>::toJSI(runtime, jni::static_ref_cast<jni::JLong>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JString::javaClassStatic())) {
// It's a string
return JSIConverter<jni::JString>::toJSI(runtime, jni::static_ref_cast<jni::JString>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JArrayClass<jni::JObject>::javaClassStatic())) {
// It's an array
return JSIConverter<jni::JArrayClass<jni::JObject>>::toJSI(runtime, jni::static_ref_cast<jni::JArrayClass<jni::JObject>>(boxedValue));
} else if (boxedValue->isInstanceOf(jni::JMap<jni::JString, jni::JObject>::javaClassStatic())) {
// It's a map
return JSIConverter<jni::JMap<jni::JString, jni::JObject>>::toJSI(
runtime, jni::static_ref_cast<jni::JMap<jni::JString, jni::JObject>>(boxedValue));
} else [[unlikely]] {
throw std::runtime_error("Cannot convert \"" + boxedValue->toString() + "\" to jsi::Value!");
}
static inline jni::local_ref<jni::JObject> fromJSI(jsi::Runtime& runtime, const jsi::Value& value) {
if (JSIConverter<jni::JDouble>::canConvert(runtime, value)) {
// It's a double
return JSIConverter<jni::JDouble>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JBoolean>::canConvert(runtime, value)) {
// It's a boolean
return JSIConverter<jni::JBoolean>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JLong>::canConvert(runtime, value)) {
// It's a long
return JSIConverter<jni::JLong>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JString>::canConvert(runtime, value)) {
// It's a string
return JSIConverter<jni::JString>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JArrayClass<jni::JObject>>::canConvert(runtime, value)) {
// It's an array
return JSIConverter<jni::JArrayClass<jni::JObject>>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JMap<jni::JString, jni::JObject>>::canConvert(runtime, value)) {
// It's a map
}
static inline jni::local_ref<jni::JObject> fromJSI(jsi::Runtime& runtime, const jsi::Value& value) {
if (JSIConverter<jni::JDouble>::canConvert(runtime, value)) {
// It's a double
return JSIConverter<jni::JDouble>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JBoolean>::canConvert(runtime, value)) {
// It's a boolean
return JSIConverter<jni::JBoolean>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JLong>::canConvert(runtime, value)) {
// It's a long
return JSIConverter<jni::JLong>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JString>::canConvert(runtime, value)) {
// It's a string
return JSIConverter<jni::JString>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JArrayClass<jni::JObject>>::canConvert(runtime, value)) {
// It's an array
return JSIConverter<jni::JArrayClass<jni::JObject>>::fromJSI(runtime, value);
} else if (JSIConverter<jni::JMap<jni::JString, jni::JObject>>::canConvert(runtime, value)) {
// It's a map
#ifndef NDEBUG
if (!isPlainObject(runtime, value.asObject(runtime))) [[unlikely]] {
std::string stringRepresentation = value.toString(runtime).utf8(runtime);
throw std::runtime_error("Cannot convert \"" + stringRepresentation + "\" to JObject!");
}
if (!isPlainObject(runtime, value.asObject(runtime))) [[unlikely]] {
std::string stringRepresentation = value.toString(runtime).utf8(runtime);
throw std::runtime_error("Cannot convert \"" + stringRepresentation + "\" to JObject!");
}
#endif
return JSIConverter<jni::JMap<jni::JString, jni::JObject>>::fromJSI(runtime, value);
} else [[unlikely]] {
std::string stringRepresentation = value.toString(runtime).utf8(runtime);
throw std::runtime_error("Cannot convert \"" + stringRepresentation + "\" to JObject!");
}
return JSIConverter<jni::JMap<jni::JString, jni::JObject>>::fromJSI(runtime, value);
} else [[unlikely]] {
std::string stringRepresentation = value.toString(runtime).utf8(runtime);
throw std::runtime_error("Cannot convert \"" + stringRepresentation + "\" to JObject!");
}
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
if (JSIConverter<jni::JDouble>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JBoolean>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JLong>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JString>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JArrayClass<jni::JObject>>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JMap<jni::JString, jni::JObject>>::canConvert(runtime, value)) {
return true;
}
return false;
}
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
if (JSIConverter<jni::JDouble>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JBoolean>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JLong>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JString>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JArrayClass<jni::JObject>>::canConvert(runtime, value)) {
return true;
} else if (JSIConverter<jni::JMap<jni::JString, jni::JObject>>::canConvert(runtime, value)) {
return true;
}
return false;
}
};

} // namespace margelo::nitro

0 comments on commit 9c5baa4

Please sign in to comment.