@@ -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
7474void 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