summaryrefslogtreecommitdiff
path: root/platform/node/src/node_map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/node/src/node_map.cpp')
-rw-r--r--platform/node/src/node_map.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp
index d56d71ab6b..2beab1833f 100644
--- a/platform/node/src/node_map.cpp
+++ b/platform/node/src/node_map.cpp
@@ -3,8 +3,6 @@
#include "node_feature.hpp"
#include "node_conversion.hpp"
-#include <mbgl/map/projection_mode.hpp>
-#include <mbgl/util/exception.hpp>
#include <mbgl/renderer/renderer.hpp>
#include <mbgl/gl/headless_frontend.hpp>
#include <mbgl/style/conversion/source.hpp>
@@ -26,6 +24,7 @@
#include <mbgl/style/image.hpp>
#include <mbgl/style/light.hpp>
#include <mbgl/map/map_observer.hpp>
+#include <mbgl/util/exception.hpp>
#include <mbgl/util/premultiply.hpp>
#include <unistd.h>
@@ -54,8 +53,14 @@ static const char* releasedMessage() {
return "Map resources have already been released";
}
-void NodeMapObserver::onDidFailLoadingMap(std::exception_ptr error) {
- std::rethrow_exception(error);
+void NodeMapObserver::onDidFailLoadingMap(mbgl::MapLoadError error, const std::string& description) {
+ switch (error) {
+ case mbgl::MapLoadError::StyleParseError:
+ Nan::ThrowError(NodeMap::ParseError(description.c_str()));
+ break;
+ default:
+ Nan::ThrowError(description.c_str());
+ }
}
void NodeMap::Init(v8::Local<v8::Object> target) {