From defb71d18a9528daab306f2d17a9eb48ab3b86b8 Mon Sep 17 00:00:00 2001 From: Wojciech Lewicki Date: Fri, 17 May 2024 10:02:03 +0200 Subject: [PATCH] chore: add formatting of all cpp (#2138) PR adding formatting of all cpp codebase. --- android/src/main/cpp/jni-adapter.cpp | 179 +++++++++--------- .../RNSModalScreenComponentDescriptor.h | 17 +- .../rnscreens/RNSModalScreenShadowNode.h | 15 +- .../rnscreens/RNSScreenComponentDescriptor.h | 16 +- .../rnscreens/RNSScreenShadowNode.h | 12 +- .../components/rnscreens/RNSScreenState.cpp | 3 +- .../components/rnscreens/RNSScreenState.h | 18 +- cpp/RNScreensTurboModule.cpp | 54 +++--- cpp/RNScreensTurboModule.h | 37 ++-- package.json | 8 +- 10 files changed, 180 insertions(+), 179 deletions(-) diff --git a/android/src/main/cpp/jni-adapter.cpp b/android/src/main/cpp/jni-adapter.cpp index a0dde3c36d..a9632e4dc2 100644 --- a/android/src/main/cpp/jni-adapter.cpp +++ b/android/src/main/cpp/jni-adapter.cpp @@ -1,110 +1,103 @@ -#include -#include #include #include +#include +#include #include "RNScreensTurboModule.h" using namespace facebook; jobject globalThis; -extern "C" -JNIEXPORT void JNICALL -Java_com_swmansion_rnscreens_ScreensModule_nativeInstall(JNIEnv *env, jobject thiz, jlong jsiPtr) { - auto runtime = reinterpret_cast(jsiPtr); - if (!runtime) { - return; - } - jsi::Runtime &rt = *runtime; - globalThis = env->NewGlobalRef(thiz); - JavaVM* jvm; - env->GetJavaVM(&jvm); +extern "C" JNIEXPORT void JNICALL +Java_com_swmansion_rnscreens_ScreensModule_nativeInstall( + JNIEnv *env, + jobject thiz, + jlong jsiPtr) { + auto runtime = reinterpret_cast(jsiPtr); + if (!runtime) { + return; + } + jsi::Runtime &rt = *runtime; + globalThis = env->NewGlobalRef(thiz); + JavaVM *jvm; + env->GetJavaVM(&jvm); - const auto &startTransition = [jvm](int stackTag) -> std::array { - JNIEnv* currentEnv; - if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { - return {0, 0}; - } - jclass javaClass = currentEnv->GetObjectClass(globalThis); - jmethodID methodID = currentEnv->GetMethodID( - javaClass, - "startTransition", - "(Ljava/lang/Integer;)[I" - ); - jclass integerClass = currentEnv->FindClass("java/lang/Integer"); - jmethodID integerConstructor = currentEnv->GetMethodID(integerClass, "", "(I)V"); - jobject integerArg = currentEnv->NewObject(integerClass, integerConstructor, stackTag); - jintArray resultArray = (jintArray) currentEnv->CallObjectMethod( - globalThis, - methodID, - integerArg - ); - std::array result = {-1, -1}; - jint* elements = currentEnv->GetIntArrayElements(resultArray, nullptr); - if (elements != nullptr) { - result[0] = elements[0]; - result[1] = elements[1]; - currentEnv->ReleaseIntArrayElements(resultArray, elements, JNI_ABORT); - } - return result; - }; + const auto &startTransition = [jvm](int stackTag) -> std::array { + JNIEnv *currentEnv; + if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { + return {0, 0}; + } + jclass javaClass = currentEnv->GetObjectClass(globalThis); + jmethodID methodID = currentEnv->GetMethodID( + javaClass, "startTransition", "(Ljava/lang/Integer;)[I"); + jclass integerClass = currentEnv->FindClass("java/lang/Integer"); + jmethodID integerConstructor = + currentEnv->GetMethodID(integerClass, "", "(I)V"); + jobject integerArg = + currentEnv->NewObject(integerClass, integerConstructor, stackTag); + jintArray resultArray = (jintArray)currentEnv->CallObjectMethod( + globalThis, methodID, integerArg); + std::array result = {-1, -1}; + jint *elements = currentEnv->GetIntArrayElements(resultArray, nullptr); + if (elements != nullptr) { + result[0] = elements[0]; + result[1] = elements[1]; + currentEnv->ReleaseIntArrayElements(resultArray, elements, JNI_ABORT); + } + return result; + }; - const auto &updateTransition = [jvm](int stackTag, double progress){ - JNIEnv* currentEnv; - if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { - return; - } - jclass javaClass = currentEnv->GetObjectClass(globalThis); - jmethodID methodID = currentEnv->GetMethodID( - javaClass, - "updateTransition", - "(D)V" - ); - currentEnv->CallVoidMethod(globalThis, methodID, progress); - }; + const auto &updateTransition = [jvm](int stackTag, double progress) { + JNIEnv *currentEnv; + if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { + return; + } + jclass javaClass = currentEnv->GetObjectClass(globalThis); + jmethodID methodID = + currentEnv->GetMethodID(javaClass, "updateTransition", "(D)V"); + currentEnv->CallVoidMethod(globalThis, methodID, progress); + }; - const auto &finishTransition = [jvm](int stackTag, bool canceled){ - JNIEnv* currentEnv; - if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { - return; - } - jclass javaClass = currentEnv->GetObjectClass(globalThis); - jmethodID methodID = currentEnv->GetMethodID( - javaClass, - "finishTransition", - "(Ljava/lang/Integer;Z)V" - ); - jclass integerClass = currentEnv->FindClass("java/lang/Integer"); - jmethodID integerConstructor = currentEnv->GetMethodID(integerClass, "", "(I)V"); - jobject integerArg = currentEnv->NewObject(integerClass, integerConstructor, stackTag); - currentEnv->CallVoidMethod(globalThis, methodID, integerArg, canceled); - }; + const auto &finishTransition = [jvm](int stackTag, bool canceled) { + JNIEnv *currentEnv; + if (jvm->AttachCurrentThread(¤tEnv, nullptr) != JNI_OK) { + return; + } + jclass javaClass = currentEnv->GetObjectClass(globalThis); + jmethodID methodID = currentEnv->GetMethodID( + javaClass, "finishTransition", "(Ljava/lang/Integer;Z)V"); + jclass integerClass = currentEnv->FindClass("java/lang/Integer"); + jmethodID integerConstructor = + currentEnv->GetMethodID(integerClass, "", "(I)V"); + jobject integerArg = + currentEnv->NewObject(integerClass, integerConstructor, stackTag); + currentEnv->CallVoidMethod(globalThis, methodID, integerArg, canceled); + }; - const auto &disableSwipeBackForTopScreen = [](int _stackTag){ - // no implementation for Android - }; + const auto &disableSwipeBackForTopScreen = [](int _stackTag) { + // no implementation for Android + }; - auto rnScreensModule = std::make_shared( - startTransition, - updateTransition, - finishTransition, - disableSwipeBackForTopScreen - ); - auto rnScreensModuleHostObject = jsi::Object::createFromHostObject(rt, rnScreensModule); - rt.global().setProperty( - rt, - RNScreens::RNScreensTurboModule::MODULE_NAME, - std::move(rnScreensModuleHostObject) - ); + auto rnScreensModule = std::make_shared( + startTransition, + updateTransition, + finishTransition, + disableSwipeBackForTopScreen); + auto rnScreensModuleHostObject = + jsi::Object::createFromHostObject(rt, rnScreensModule); + rt.global().setProperty( + rt, + RNScreens::RNScreensTurboModule::MODULE_NAME, + std::move(rnScreensModuleHostObject)); } void JNICALL JNI_OnUnload(JavaVM *jvm, void *) { - JNIEnv *env; - if (jvm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6) != JNI_OK) { - return; - } - if (globalThis != nullptr) { - env->DeleteGlobalRef(globalThis); - globalThis = nullptr; - } + JNIEnv *env; + if (jvm->GetEnv(reinterpret_cast(&env), JNI_VERSION_1_6) != JNI_OK) { + return; + } + if (globalThis != nullptr) { + env->DeleteGlobalRef(globalThis); + globalThis = nullptr; + } } diff --git a/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h b/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h index 1c6fa19f2a..bd3decd4dc 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h +++ b/common/cpp/react/renderer/components/rnscreens/RNSModalScreenComponentDescriptor.h @@ -1,8 +1,8 @@ #pragma once #include -#include "RNSModalScreenShadowNode.h" #include +#include "RNSModalScreenShadowNode.h" namespace facebook { namespace react { @@ -12,16 +12,15 @@ class RNSModalScreenComponentDescriptor final public: using ConcreteComponentDescriptor::ConcreteComponentDescriptor; - void adopt(ShadowNode& shadowNode) const override { - react_native_assert( - dynamic_cast(&shadowNode)); - auto& screenShadowNode = - static_cast(shadowNode); + void adopt(ShadowNode &shadowNode) const override { + react_native_assert(dynamic_cast(&shadowNode)); + auto &screenShadowNode = + static_cast(shadowNode); react_native_assert( - dynamic_cast(&screenShadowNode)); - auto& layoutableShadowNode = - dynamic_cast(screenShadowNode); + dynamic_cast(&screenShadowNode)); + auto &layoutableShadowNode = + dynamic_cast(screenShadowNode); auto state = std::static_pointer_cast( diff --git a/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h b/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h index 67709d9289..32d5511951 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h +++ b/common/cpp/react/renderer/components/rnscreens/RNSModalScreenShadowNode.h @@ -1,21 +1,22 @@ #pragma once -#include "RNSScreenState.h" +#include #include #include #include -#include +#include "RNSScreenState.h" namespace facebook { namespace react { JSI_EXPORT extern const char RNSModalScreenComponentName[]; -class JSI_EXPORT RNSModalScreenShadowNode final : public ConcreteViewShadowNode< - RNSModalScreenComponentName, - RNSScreenProps, - RNSScreenEventEmitter, - RNSScreenState> { +class JSI_EXPORT RNSModalScreenShadowNode final + : public ConcreteViewShadowNode< + RNSModalScreenComponentName, + RNSScreenProps, + RNSScreenEventEmitter, + RNSScreenState> { public: using ConcreteViewShadowNode::ConcreteViewShadowNode; diff --git a/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h b/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h index 67194d3733..32111a7e93 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h +++ b/common/cpp/react/renderer/components/rnscreens/RNSScreenComponentDescriptor.h @@ -1,8 +1,8 @@ #pragma once #include -#include "RNSScreenShadowNode.h" #include +#include "RNSScreenShadowNode.h" namespace facebook { namespace react { @@ -12,16 +12,14 @@ class RNSScreenComponentDescriptor final public: using ConcreteComponentDescriptor::ConcreteComponentDescriptor; - void adopt(ShadowNode& shadowNode) const override { - react_native_assert( - dynamic_cast(&shadowNode)); - auto& screenShadowNode = - static_cast(shadowNode); + void adopt(ShadowNode &shadowNode) const override { + react_native_assert(dynamic_cast(&shadowNode)); + auto &screenShadowNode = static_cast(shadowNode); react_native_assert( - dynamic_cast(&screenShadowNode)); - auto& layoutableShadowNode = - dynamic_cast(screenShadowNode); + dynamic_cast(&screenShadowNode)); + auto &layoutableShadowNode = + dynamic_cast(screenShadowNode); auto state = std::static_pointer_cast( diff --git a/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h b/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h index 25b644227b..0de3b2f32f 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h +++ b/common/cpp/react/renderer/components/rnscreens/RNSScreenShadowNode.h @@ -1,10 +1,10 @@ #pragma once -#include "RNSScreenState.h" +#include #include #include #include -#include +#include "RNSScreenState.h" namespace facebook { namespace react { @@ -12,10 +12,10 @@ namespace react { JSI_EXPORT extern const char RNSScreenComponentName[]; class JSI_EXPORT RNSScreenShadowNode final : public ConcreteViewShadowNode< - RNSScreenComponentName, - RNSScreenProps, - RNSScreenEventEmitter, - RNSScreenState> { + RNSScreenComponentName, + RNSScreenProps, + RNSScreenEventEmitter, + RNSScreenState> { public: using ConcreteViewShadowNode::ConcreteViewShadowNode; diff --git a/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp b/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp index 3dd6013525..0f455cd330 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp +++ b/common/cpp/react/renderer/components/rnscreens/RNSScreenState.cpp @@ -6,7 +6,8 @@ namespace react { #ifdef ANDROID folly::dynamic RNSScreenState::getDynamic() const { return folly::dynamic::object("frameWidth", frameSize.width)( - "frameHeight", frameSize.height)("contentOffsetX", contentOffset.x)("contentOffsetY", contentOffset.y); + "frameHeight", frameSize.height)("contentOffsetX", contentOffset.x)( + "contentOffsetY", contentOffset.y); } #endif diff --git a/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h b/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h index 495cabdbb3..f307b71003 100644 --- a/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h +++ b/common/cpp/react/renderer/components/rnscreens/RNSScreenState.h @@ -1,7 +1,7 @@ #pragma once -#include #include +#include #ifdef ANDROID #include @@ -17,23 +17,21 @@ class JSI_EXPORT RNSScreenState final { using Shared = std::shared_ptr; RNSScreenState(){}; - RNSScreenState(Size frameSize_, Point contentOffset_) : frameSize(frameSize_), contentOffset(contentOffset_){}; + RNSScreenState(Size frameSize_, Point contentOffset_) + : frameSize(frameSize_), contentOffset(contentOffset_){}; #ifdef ANDROID - RNSScreenState( - RNSScreenState const &previousState, - folly::dynamic data) + RNSScreenState(RNSScreenState const &previousState, folly::dynamic data) : frameSize(Size{ (Float)data["frameWidth"].getDouble(), - (Float)data["frameHeight"].getDouble()}), + (Float)data["frameHeight"].getDouble()}), contentOffset(Point{ (Float)data["contentOffsetX"].getDouble(), - (Float)data["contentOffsetY"].getDouble()}) - {}; + (Float)data["contentOffsetY"].getDouble()}){}; #endif - const Size frameSize{}; - Point contentOffset; + const Size frameSize{}; + Point contentOffset; #ifdef ANDROID folly::dynamic getDynamic() const; diff --git a/cpp/RNScreensTurboModule.cpp b/cpp/RNScreensTurboModule.cpp index 8187e5e467..9e9a91e2c0 100644 --- a/cpp/RNScreensTurboModule.cpp +++ b/cpp/RNScreensTurboModule.cpp @@ -12,49 +12,54 @@ std::function RNScreensTurboModule::finishTransition_; std::function RNScreensTurboModule::disableSwipeBackForTopScreen_; RNScreensTurboModule::RNScreensTurboModule( - std::function(int)> startTransition, - std::function updateTransition, - std::function finishTransition, - std::function disableSwipeBackForTopScreen -) { + std::function(int)> startTransition, + std::function updateTransition, + std::function finishTransition, + std::function disableSwipeBackForTopScreen) { startTransition_ = startTransition; updateTransition_ = updateTransition; finishTransition_ = finishTransition; disableSwipeBackForTopScreen_ = disableSwipeBackForTopScreen; } -RNScreensTurboModule::~RNScreensTurboModule() {}; +RNScreensTurboModule::~RNScreensTurboModule(){}; -jsi::Value RNScreensTurboModule::get(jsi::Runtime& rt, const jsi::PropNameID& name) { +jsi::Value RNScreensTurboModule::get( + jsi::Runtime &rt, + const jsi::PropNameID &name) { if (name.utf8(rt) == "startTransition") { return jsi::Function::createFromHostFunction(rt, name, 1, startTransition); - } - else if (name.utf8(rt) == "updateTransition") { + } else if (name.utf8(rt) == "updateTransition") { return jsi::Function::createFromHostFunction(rt, name, 2, updateTransition); - } - else if (name.utf8(rt) == "finishTransition") { + } else if (name.utf8(rt) == "finishTransition") { return jsi::Function::createFromHostFunction(rt, name, 2, finishTransition); - } - else if (name.utf8(rt) == "disableSwipeBackForTopScreen") { - return jsi::Function::createFromHostFunction(rt, name, 1, disableSwipeBackForTopScreen); + } else if (name.utf8(rt) == "disableSwipeBackForTopScreen") { + return jsi::Function::createFromHostFunction( + rt, name, 1, disableSwipeBackForTopScreen); } return jsi::Value::undefined(); } -void RNScreensTurboModule::set(jsi::Runtime&, const jsi::PropNameID&, const jsi::Value&) {}; +void RNScreensTurboModule::set( + jsi::Runtime &, + const jsi::PropNameID &, + const jsi::Value &){}; -std::vector RNScreensTurboModule::getPropertyNames(jsi::Runtime& rt) { +std::vector RNScreensTurboModule::getPropertyNames( + jsi::Runtime &rt) { std::vector properties; properties.push_back(jsi::PropNameID::forUtf8(rt, "startTransition")); properties.push_back(jsi::PropNameID::forUtf8(rt, "updateTransition")); properties.push_back(jsi::PropNameID::forUtf8(rt, "finishTransition")); - properties.push_back(jsi::PropNameID::forUtf8(rt, "disableSwipeBackForTopScreen")); + properties.push_back( + jsi::PropNameID::forUtf8(rt, "disableSwipeBackForTopScreen")); return properties; } JSI_HOST_FUNCTION(RNScreensTurboModule::startTransition) { if (count < 1) { - throw jsi::JSError(rt, "[RNScreens] `startTransition` method requires 1 argument."); + throw jsi::JSError( + rt, "[RNScreens] `startTransition` method requires 1 argument."); } int stackTag = arguments[0].asNumber(); auto screenTags = startTransition_(stackTag); @@ -77,7 +82,8 @@ JSI_HOST_FUNCTION(RNScreensTurboModule::startTransition) { JSI_HOST_FUNCTION(RNScreensTurboModule::updateTransition) { if (count < 2) { - throw jsi::JSError(rt, "[RNScreens] `updateTransition` requires 2 arguments."); + throw jsi::JSError( + rt, "[RNScreens] `updateTransition` requires 2 arguments."); } int stackTag = arguments[0].asNumber(); double progress = arguments[1].asNumber(); @@ -87,7 +93,8 @@ JSI_HOST_FUNCTION(RNScreensTurboModule::updateTransition) { JSI_HOST_FUNCTION(RNScreensTurboModule::finishTransition) { if (count < 2) { - throw jsi::JSError(rt, "[RNScreens] `finishTransition` requires 2 arguments."); + throw jsi::JSError( + rt, "[RNScreens] `finishTransition` requires 2 arguments."); } int stackTag = arguments[0].asNumber(); bool canceled = arguments[1].getBool(); @@ -96,12 +103,13 @@ JSI_HOST_FUNCTION(RNScreensTurboModule::finishTransition) { } JSI_HOST_FUNCTION(RNScreensTurboModule::disableSwipeBackForTopScreen) { -if (count < 1) { - throw jsi::JSError(rt, "[RNScreens] `startTransition` method requires 1 argument."); + if (count < 1) { + throw jsi::JSError( + rt, "[RNScreens] `startTransition` method requires 1 argument."); } int stackTag = arguments[0].asNumber(); disableSwipeBackForTopScreen_(stackTag); return jsi::Value::undefined(); } -} +} // namespace RNScreens diff --git a/cpp/RNScreensTurboModule.h b/cpp/RNScreensTurboModule.h index 2d9e88d532..80c2965f29 100644 --- a/cpp/RNScreensTurboModule.h +++ b/cpp/RNScreensTurboModule.h @@ -1,43 +1,40 @@ -#include #include +#include -#define JSI_HOST_FUNCTION(NAME) \ - jsi::Value NAME( \ - jsi::Runtime &rt, \ - const jsi::Value &thisValue, \ - const jsi::Value *arguments, \ - size_t count \ - ) +#define JSI_HOST_FUNCTION(NAME) \ + jsi::Value NAME( \ + jsi::Runtime &rt, \ + const jsi::Value &thisValue, \ + const jsi::Value *arguments, \ + size_t count) using namespace facebook; namespace RNScreens { class RNScreensTurboModule : public jsi::HostObject { - static std::function(int)> startTransition_; static std::function updateTransition_; static std::function finishTransition_; static std::function disableSwipeBackForTopScreen_; -public: + public: static const char MODULE_NAME[]; RNScreensTurboModule( - std::function(int)> startTransition, - std::function updateTransition, - std::function finishTransition, - std::function disableSwipeBackForTopScreen - ); + std::function(int)> startTransition, + std::function updateTransition, + std::function finishTransition, + std::function disableSwipeBackForTopScreen); ~RNScreensTurboModule() override; - jsi::Value get(jsi::Runtime& rt, const jsi::PropNameID& name) override; - void set(jsi::Runtime&, const jsi::PropNameID&, const jsi::Value&) override; - std::vector getPropertyNames(jsi::Runtime& rt) override; + jsi::Value get(jsi::Runtime &rt, const jsi::PropNameID &name) override; + void set(jsi::Runtime &, const jsi::PropNameID &, const jsi::Value &) + override; + std::vector getPropertyNames(jsi::Runtime &rt) override; static JSI_HOST_FUNCTION(startTransition); static JSI_HOST_FUNCTION(updateTransition); static JSI_HOST_FUNCTION(finishTransition); static JSI_HOST_FUNCTION(disableSwipeBackForTopScreen); - }; -} +} // namespace RNScreens diff --git a/package.json b/package.json index 4fca83ecd1..6f7b923c7c 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,10 @@ "format-js": "prettier --write --list-different './{src,Example}/**/*.{js,ts,tsx}'", "format-android": "node ./scripts/format-android.js", "format-ios": "find ios/ -iname \"*.h\" -o -iname \"*.m\" -o -iname \"*.cpp\" -o -iname \"*.mm\" | xargs clang-format -i", - "format": "yarn format-js && yarn format-android && yarn format-ios", + "format-common": "find common/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", + "format-cpp": "find cpp/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", + "format-android-cpp": "find android/src/main/cpp -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i", + "format": "yarn format-js && yarn format-android && yarn format-ios && yarn format-common && yarn format-cpp && yarn format-android-cpp", "lint-js": "eslint --ext '.js,.ts,.tsx' --fix src", "lint-android": "./android/gradlew -p android spotlessCheck -q", "lint": "yarn lint-js && yarn lint-android", @@ -120,6 +123,9 @@ "lint-staged": { "{src,Example}/**/*.{js,ts,tsx}": "yarn format-js", "src/**/*.{js,ts,tsx}": "yarn lint-js", + "common/**/*.{h,cpp}": "yarn format-common", + "cpp/**/*.{h,cpp}": "yarn format-cpp", + "android/src/main/cpp/.{cpp, h}": "yarn format-android-cpp", "android/**/*.kt": "yarn format-android", "ios/**/*.{h,m,mm,cpp}": "yarn format-ios" },