Skip to content

Commit 2e3f226

Browse files
RSNarafacebook-github-bot
authored andcommitted
Refactor: JsErrorHandler: Rename JsErrorHandlingFunc -> OnJsError (#43985)
Summary: Pull Request resolved: #43985 This is just personal preference. The name "OnJsError" makes the intent of the abstraction clear: an instance of OnJsError is a function that gets called when a js error is caught. The name "JsErrorHandlingFunc" is not as good. Changelog: [General][Breaking] - JsErrorHandler: Rename JsErrorHandlingFunc to OnJsError Reviewed By: christophpurrer Differential Revision: D55563580 fbshipit-source-id: 4d20bc984e6633aeac6193b9276a88d76961df2c
1 parent c041b9f commit 2e3f226

File tree

8 files changed

+33
-37
lines changed

8 files changed

+33
-37
lines changed

packages/react-native/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ JReactInstance::JReactInstance(
5151
jsTimerExecutor->cthis()->setTimerManager(timerManager);
5252

5353
jReactExceptionManager_ = jni::make_global(jReactExceptionManager);
54-
auto jsErrorHandlingFunc =
54+
auto onJsError =
5555
[weakJReactExceptionManager = jni::make_weak(jReactExceptionManager)](
5656
const JsErrorHandler::ParsedError& error) mutable noexcept {
5757
if (auto jReactExceptionManager =
@@ -66,7 +66,7 @@ JReactInstance::JReactInstance(
6666
jsRuntimeFactory->cthis()->createJSRuntime(sharedJSMessageQueueThread),
6767
sharedJSMessageQueueThread,
6868
timerManager,
69-
std::move(jsErrorHandlingFunc),
69+
std::move(onJsError),
7070
jReactHostInspectorTarget
7171
? jReactHostInspectorTarget->cthis()->getInspectorTarget()
7272
: nullptr);

packages/react-native/ReactCommon/jserrorhandler/JsErrorHandler.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,8 @@ parseErrorStack(const jsi::JSError& error, bool isFatal, bool isHermes) {
8888
};
8989
}
9090

91-
JsErrorHandler::JsErrorHandler(
92-
JsErrorHandler::JsErrorHandlingFunc jsErrorHandlingFunc)
93-
: _jsErrorHandlingFunc(std::move(jsErrorHandlingFunc)),
91+
JsErrorHandler::JsErrorHandler(JsErrorHandler::OnJsError onJsError)
92+
: _onJsError(std::move(onJsError)),
9493
_hasHandledFatalError(false){
9594

9695
};
@@ -102,7 +101,7 @@ void JsErrorHandler::handleFatalError(const jsi::JSError& error) {
102101
// REGEX_HERMES to get additional Hermes data, though it requires JS setup.
103102
_hasHandledFatalError = true;
104103
ParsedError parsedError = parseErrorStack(error, true, false);
105-
_jsErrorHandlingFunc(parsedError);
104+
_onJsError(parsedError);
106105
}
107106

108107
bool JsErrorHandler::hasHandledFatalError() {

packages/react-native/ReactCommon/jserrorhandler/JsErrorHandler.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@ class JsErrorHandler {
2727
bool isFatal;
2828
};
2929

30-
using JsErrorHandlingFunc = std::function<void(const ParsedError& error)>;
30+
using OnJsError = std::function<void(const ParsedError& error)>;
3131

32-
explicit JsErrorHandler(JsErrorHandlingFunc jsErrorHandlingFunc);
32+
explicit JsErrorHandler(OnJsError onJsError);
3333
~JsErrorHandler();
3434

3535
void handleFatalError(const jsi::JSError& error);
3636
bool hasHandledFatalError();
3737

3838
private:
39-
JsErrorHandlingFunc _jsErrorHandlingFunc;
39+
OnJsError _onJsError;
4040
bool _hasHandledFatalError;
4141
};
4242

packages/react-native/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,22 +34,20 @@ void ReactInstanceIntegrationTest::SetUp() {
3434
auto timerManager =
3535
std::make_shared<react::TimerManager>(std::move(mockRegistry));
3636

37-
auto jsErrorHandlingFunc =
38-
[](const JsErrorHandler::ParsedError& errorMap) noexcept {
39-
LOG(INFO) << "[jsErrorHandlingFunc called]";
40-
LOG(INFO) << "message: " << errorMap.message;
41-
LOG(INFO) << "exceptionId: " << std::to_string(errorMap.exceptionId);
42-
LOG(INFO) << "isFatal: "
43-
<< std::to_string(static_cast<int>(errorMap.isFatal));
44-
auto frames = errorMap.frames;
45-
for (const auto& mapBuffer : frames) {
46-
LOG(INFO) << "[Frame]" << std::endl
47-
<< "\tfile: " << mapBuffer.fileName;
48-
LOG(INFO) << "\tmethodName: " << mapBuffer.methodName;
49-
LOG(INFO) << "\tlineNumber: " << std::to_string(mapBuffer.lineNumber);
50-
LOG(INFO) << "\tcolumn: " << std::to_string(mapBuffer.columnNumber);
51-
}
52-
};
37+
auto onJsError = [](const JsErrorHandler::ParsedError& errorMap) noexcept {
38+
LOG(INFO) << "[jsErrorHandlingFunc called]";
39+
LOG(INFO) << "message: " << errorMap.message;
40+
LOG(INFO) << "exceptionId: " << std::to_string(errorMap.exceptionId);
41+
LOG(INFO) << "isFatal: "
42+
<< std::to_string(static_cast<int>(errorMap.isFatal));
43+
auto frames = errorMap.frames;
44+
for (const auto& mapBuffer : frames) {
45+
LOG(INFO) << "[Frame]" << std::endl << "\tfile: " << mapBuffer.fileName;
46+
LOG(INFO) << "\tmethodName: " << mapBuffer.methodName;
47+
LOG(INFO) << "\tlineNumber: " << std::to_string(mapBuffer.lineNumber);
48+
LOG(INFO) << "\tcolumn: " << std::to_string(mapBuffer.columnNumber);
49+
}
50+
};
5351

5452
auto jsRuntimeFactory = std::make_unique<react::HermesInstance>();
5553
std::unique_ptr<react::JSRuntime> runtime_ =
@@ -77,7 +75,7 @@ void ReactInstanceIntegrationTest::SetUp() {
7775
std::move(runtime_),
7876
messageQueueThread,
7977
timerManager,
80-
std::move(jsErrorHandlingFunc),
78+
std::move(onJsError),
8179
hostTargetIfModernCDP == nullptr ? nullptr : hostTargetIfModernCDP.get());
8280

8381
timerManager->setRuntimeExecutor(instance->getBufferedRuntimeExecutor());

packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,12 @@ ReactInstance::ReactInstance(
3131
std::unique_ptr<JSRuntime> runtime,
3232
std::shared_ptr<MessageQueueThread> jsMessageQueueThread,
3333
std::shared_ptr<TimerManager> timerManager,
34-
JsErrorHandler::JsErrorHandlingFunc jsErrorHandlingFunc,
34+
JsErrorHandler::OnJsError onJsError,
3535
jsinspector_modern::HostTarget* parentInspectorTarget)
3636
: runtime_(std::move(runtime)),
3737
jsMessageQueueThread_(jsMessageQueueThread),
3838
timerManager_(std::move(timerManager)),
39-
jsErrorHandler_(
40-
std::make_shared<JsErrorHandler>(std::move(jsErrorHandlingFunc))),
39+
jsErrorHandler_(std::make_shared<JsErrorHandler>(std::move(onJsError))),
4140
parentInspectorTarget_(parentInspectorTarget) {
4241
RuntimeExecutor runtimeExecutor = [weakRuntime = std::weak_ptr(runtime_),
4342
weakTimerManager =

packages/react-native/ReactCommon/react/runtime/ReactInstance.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ReactInstance final : private jsinspector_modern::InstanceTargetDelegate {
3434
std::unique_ptr<JSRuntime> runtime,
3535
std::shared_ptr<MessageQueueThread> jsMessageQueueThread,
3636
std::shared_ptr<TimerManager> timerManager,
37-
JsErrorHandler::JsErrorHandlingFunc jsErrorHandlingFunc,
37+
JsErrorHandler::OnJsError onJsError,
3838
jsinspector_modern::HostTarget* parentInspectorTarget = nullptr);
3939

4040
RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept;

packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,14 @@ - (void)_start
242242
objCTimerRegistryRawPtr->setTimerManager(timerManager);
243243

244244
__weak __typeof(self) weakSelf = self;
245-
auto jsErrorHandlingFunc = [=](const JsErrorHandler::ParsedError &error) { [weakSelf _handleJSError:error]; };
245+
auto onJsError = [=](const JsErrorHandler::ParsedError &error) { [weakSelf _handleJSError:error]; };
246246

247247
// Create the React Instance
248248
_reactInstance = std::make_unique<ReactInstance>(
249249
_jsRuntimeFactory->createJSRuntime(_jsThreadManager.jsMessageThread),
250250
_jsThreadManager.jsMessageThread,
251251
timerManager,
252-
jsErrorHandlingFunc,
252+
onJsError,
253253
_parentInspectorTarget);
254254
_valid = true;
255255

packages/react-native/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,15 @@ class ReactInstanceTest : public ::testing::Test {
123123
auto mockRegistry = std::make_unique<MockTimerRegistry>();
124124
mockRegistry_ = mockRegistry.get();
125125
timerManager_ = std::make_shared<TimerManager>(std::move(mockRegistry));
126-
auto jsErrorHandlingFunc =
127-
[](const JsErrorHandler::ParsedError& errorMap) noexcept {
128-
// Do nothing
129-
};
126+
auto onJsError = [](const JsErrorHandler::ParsedError& errorMap) noexcept {
127+
// Do nothing
128+
};
129+
130130
instance_ = std::make_unique<ReactInstance>(
131131
std::move(runtime),
132132
messageQueueThread_,
133133
timerManager_,
134-
std::move(jsErrorHandlingFunc));
134+
std::move(onJsError));
135135
timerManager_->setRuntimeExecutor(instance_->getBufferedRuntimeExecutor());
136136

137137
// Install a C++ error handler

0 commit comments

Comments
 (0)