Skip to content

Commit 93dbf5c

Browse files
authored
Merge pull request #17 from martimarkov/main
Fix use jsi::JSError
2 parents 0e7e1db + 9d0b26d commit 93dbf5c

2 files changed

Lines changed: 26 additions & 26 deletions

File tree

cpp/SuperclusterHostObject.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ SuperclusterHostObject::SuperclusterHostObject(jsi::Runtime &rt,
2121
std::string message =
2222
std::string("React-Native-Clusterer: Error creating Supercluser") +
2323
e.what();
24-
jsi::detail::throwJSError(rt, message.c_str());
24+
throw jsi::JSError(rt, message.c_str());
2525
}
2626
}
2727

@@ -52,7 +52,7 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
5252
const jsi::Value *args, size_t count) -> jsi::Value {
5353
if (count != 3 || !args[0].isNumber() || !args[1].isNumber() ||
5454
!args[2].isNumber())
55-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getTile "
55+
throw jsi::JSError(rt, "React-Native-Clusterer: getTile "
5656
"expects 3 numbers as arguments");
5757

5858
int zoom = (int)args[0].asNumber();
@@ -81,7 +81,7 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
8181
const jsi::Value *args, size_t count) -> jsi::Value {
8282
if (count != 2 || !args[0].asObject(rt).isArray(rt) ||
8383
!args[1].isNumber())
84-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getClusters "
84+
throw jsi::JSError(rt, "React-Native-Clusterer: getClusters "
8585
"expects an array and a number");
8686

8787
double bbox[4];
@@ -93,7 +93,7 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
9393
bbox[2] = jsibbox.getValueAtIndex(rt, 2).asNumber();
9494
bbox[3] = jsibbox.getValueAtIndex(rt, 3).asNumber();
9595
} catch (exception &e) {
96-
jsi::detail::throwJSError(
96+
throw jsi::JSError(
9797
rt, "React-Native-Clusterer: GetClusters error, make sure "
9898
"boundingBox is an array of 4 numbers");
9999
}
@@ -121,7 +121,7 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
121121
[this](jsi::Runtime &rt, const jsi::Value &thisVal,
122122
const jsi::Value *args, size_t count) -> jsi::Value {
123123
if (count != 1 || !args[0].isNumber())
124-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getChildren "
124+
throw jsi::JSError(rt, "React-Native-Clusterer: getChildren "
125125
"expects a number for cluster_id");
126126

127127
auto cluster_id = (int)args[0].asNumber();
@@ -146,20 +146,20 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
146146
[this](jsi::Runtime &rt, const jsi::Value &thisVal,
147147
const jsi::Value *args, size_t count) -> jsi::Value {
148148
if (count < 1 || count > 3)
149-
jsi::detail::throwJSError(rt,
149+
throw jsi::JSError(rt,
150150
"React-Native-Clusterer: getLeaves "
151151
"expects at least 1 argument, at most 3");
152152

153153
if (!args[0].isNumber())
154-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getLeaves "
154+
throw jsi::JSError(rt, "React-Native-Clusterer: getLeaves "
155155
"first argument must be a number");
156156

157157
if (count >= 2 && !args[1].isNumber())
158-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getLeaves "
158+
throw jsi::JSError(rt, "React-Native-Clusterer: getLeaves "
159159
"second argument must be a number");
160160

161161
if (count == 3 && !args[2].isNumber())
162-
jsi::detail::throwJSError(rt, "React-Native-Clusterer: getLeaves "
162+
throw jsi::JSError(rt, "React-Native-Clusterer: getLeaves "
163163
"third argument must be a number");
164164

165165
auto cluster_id = (int)args[0].asNumber();
@@ -188,7 +188,7 @@ jsi::Value SuperclusterHostObject::get(jsi::Runtime &runtime,
188188
[this](jsi::Runtime &rt, const jsi::Value &thisVal,
189189
const jsi::Value *args, size_t count) -> jsi::Value {
190190
if (count != 1 || !args[0].isNumber())
191-
jsi::detail::throwJSError(
191+
throw jsi::JSError(
192192
rt, "React-Native-Clusterer: getClusterExpansionZoom expects "
193193
"number for cluster_id");
194194

cpp/helpers.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ void parseJSIFeatures(jsi::Runtime &rt,
1313
features.push_back(feature);
1414
}
1515
} else {
16-
jsi::detail::throwJSError(rt, "Expected array of GeoJSON Feature objects");
16+
throw jsi::JSError(rt, "Expected array of GeoJSON Feature objects");
1717
}
1818
};
1919

@@ -27,95 +27,95 @@ void parseJSIOptions(jsi::Runtime &rt, mapbox::supercluster::Options &options,
2727
if (radius.isNumber()) {
2828
options.radius = (int)radius.asNumber();
2929
} else
30-
jsi::detail::throwJSError(rt, "Expected number for radius");
30+
throw jsi::JSError(rt, "Expected number for radius");
3131
}
3232

3333
if (obj.hasProperty(rt, "minZoom")) {
3434
jsi::Value minZoom = obj.getProperty(rt, "minZoom");
3535
if (minZoom.isNumber()) {
3636
options.minZoom = (int)minZoom.asNumber();
3737
} else
38-
jsi::detail::throwJSError(rt, "Expected number for minZoom");
38+
throw jsi::JSError(rt, "Expected number for minZoom");
3939
}
4040

4141
if (obj.hasProperty(rt, "maxZoom")) {
4242
jsi::Value maxZoom = obj.getProperty(rt, "maxZoom");
4343
if (maxZoom.isNumber()) {
4444
options.maxZoom = (int)maxZoom.asNumber();
4545
} else
46-
jsi::detail::throwJSError(rt, "Expected number for maxZoom");
46+
throw jsi::JSError(rt, "Expected number for maxZoom");
4747
}
4848

4949
if (obj.hasProperty(rt, "extent")) {
5050
jsi::Value extent = obj.getProperty(rt, "extent");
5151
if (extent.isNumber()) {
5252
options.extent = (int)extent.asNumber();
5353
} else
54-
jsi::detail::throwJSError(rt, "Expected number for extent");
54+
throw jsi::JSError(rt, "Expected number for extent");
5555
}
5656
if (obj.hasProperty(rt, "minPoints")) {
5757
jsi::Value minPoints = obj.getProperty(rt, "minPoints");
5858
if (minPoints.isNumber()) {
5959
options.minPoints = (int)minPoints.asNumber();
6060
} else
61-
jsi::detail::throwJSError(rt, "Expected number for minPoints");
61+
throw jsi::JSError(rt, "Expected number for minPoints");
6262
}
6363
if (obj.hasProperty(rt, "generateId")) {
6464
jsi::Value generateId = obj.getProperty(rt, "generateId");
6565
if (generateId.isBool()) {
6666
options.generateId = generateId.getBool();
6767
} else
68-
jsi::detail::throwJSError(rt, "Expected boolean for generateId");
68+
throw jsi::JSError(rt, "Expected boolean for generateId");
6969
}
7070
} else
71-
jsi::detail::throwJSError(rt, "Expected object for options");
71+
throw jsi::JSError(rt, "Expected object for options");
7272
};
7373

7474
void parseJSIFeature(jsi::Runtime &rt,
7575
mapbox::feature::feature<double> &feature,
7676
jsi::Value const &jsiFeature) {
7777
if (!jsiFeature.isObject())
78-
jsi::detail::throwJSError(rt, "Expected GeoJSON Feature object");
78+
throw jsi::JSError(rt, "Expected GeoJSON Feature object");
7979

8080
jsi::Object obj = jsiFeature.asObject(rt);
8181

8282
// obj.type
8383
if (!obj.hasProperty(rt, "type") ||
8484
!strcmp(obj.getProperty(rt, "type").asString(rt).utf8(rt).c_str(),
8585
"Point"))
86-
jsi::detail::throwJSError(
86+
throw jsi::JSError(
8787
rt, "Expected GeoJSON Feature object with type 'Point'");
8888

8989
// obj.geometry
9090
if (!obj.hasProperty(rt, "geometry"))
91-
jsi::detail::throwJSError(rt, "Expected geometry object");
91+
throw jsi::JSError(rt, "Expected geometry object");
9292

9393
jsi::Value geometry = obj.getProperty(rt, "geometry");
9494

9595
if (!geometry.isObject())
96-
jsi::detail::throwJSError(rt, "Expected geometry object");
96+
throw jsi::JSError(rt, "Expected geometry object");
9797

9898
jsi::Object geoObj = geometry.asObject(rt);
9999

100100
// obj.geometry.coordinates
101101
if (!geoObj.hasProperty(rt, "coordinates"))
102-
jsi::detail::throwJSError(rt, "Expected coordinates property");
102+
throw jsi::JSError(rt, "Expected coordinates property");
103103

104104
jsi::Value coordinates = geoObj.getProperty(rt, "coordinates");
105105

106106
if (!coordinates.asObject(rt).isArray(rt))
107-
jsi::detail::throwJSError(rt, "Expected array for coordinates");
107+
throw jsi::JSError(rt, "Expected array for coordinates");
108108

109109
jsi::Array arr = coordinates.asObject(rt).asArray(rt);
110110

111111
if (arr.size(rt) != 2)
112-
jsi::detail::throwJSError(rt, "Expected array of size 2 for coordinates");
112+
throw jsi::JSError(rt, "Expected array of size 2 for coordinates");
113113

114114
jsi::Value x = arr.getValueAtIndex(rt, 0);
115115
jsi::Value y = arr.getValueAtIndex(rt, 1);
116116

117117
if (!x.isNumber() || !y.isNumber())
118-
jsi::detail::throwJSError(rt, "Expected number for coordinates");
118+
throw jsi::JSError(rt, "Expected number for coordinates");
119119

120120
double lng = x.asNumber();
121121
double lat = y.asNumber();

0 commit comments

Comments
 (0)