Skip to content

Commit 1709acb

Browse files
author
Mariusz Pasinski
committed
refactor: extract existing loading code to resolveRelativePath() method
1 parent ae6ba19 commit 1709acb

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

packages/react-native-node-api-modules/cpp/CxxNodeApiHostModule.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,16 @@ CxxNodeApiHostModule::requireNodeAddon(jsi::Runtime &rt,
172172
return (handler->second)(rt, strippedPath, requiredPackageName, requiredFrom);
173173
}
174174

175-
const std::string &libraryNameStr = strippedPath;
175+
// Otherwise, "requiredPath" must be a "relative specifier" or a "bare specifier"
176+
return resolveRelativePath(rt, strippedPath, requiredPackageName, requiredFrom);
177+
}
178+
179+
jsi::Value
180+
CxxNodeApiHostModule::resolveRelativePath(facebook::jsi::Runtime &rt,
181+
const std::string_view &requiredPath,
182+
const std::string_view &requiredPackageName,
183+
const std::string_view &requiredFrom) {
184+
const std::string libraryNameStr(requiredPath);
176185
auto [it, inserted] = nodeAddons_.emplace(libraryNameStr, NodeAddon());
177186
NodeAddon &addon = it->second;
178187

packages/react-native-node-api-modules/cpp/CxxNodeApiHostModule.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ class JSI_EXPORT CxxNodeApiHostModule : public facebook::react::TurboModule {
3535
const std::string &requiredPackageName,
3636
const std::string &requiredFrom);
3737

38+
facebook::jsi::Value resolveRelativePath(facebook::jsi::Runtime &rt,
39+
const std::string_view &requiredPath,
40+
const std::string_view &requiredPackageName,
41+
const std::string_view &requiredFrom);
42+
3843
protected:
3944
struct NodeAddon {
4045
void *moduleHandle;

0 commit comments

Comments
 (0)