1- #include " utils.hpp"
1+ // #include "utils.hpp"
22#include " mapnik_logger.hpp"
33#include < mapnik/debug.hpp>
44
55Napi::FunctionReference Logger::constructor;
66
7+ Napi::Object Logger::Initialize (Napi::Env env, Napi::Object exports)
8+ {
9+ Napi::Function func = DefineClass (env, " Logger" , {
10+ StaticMethod<&Logger::get_severity>(" getSeverity" ),
11+ StaticMethod<&Logger::set_severity>(" setSeverity" ),
12+ StaticValue (" NONE" , Napi::Number::New (env, mapnik::logger::severity_type::none), napi_enumerable),
13+ StaticValue (" ERROR" , Napi::Number::New (env, mapnik::logger::severity_type::error), napi_enumerable),
14+ StaticValue (" DEBUG" , Napi::Number::New (env, mapnik::logger::severity_type::debug), napi_enumerable),
15+ StaticValue (" WARN" , Napi::Number::New (env, mapnik::logger::severity_type::warn), napi_enumerable)
16+ });
17+ // What about booleans like:
18+ // ENABLE_STATS
19+ // ENABLE_LOG
20+ // DEFAULT_LOG_SEVERITY
21+ // RENDERING_STATS
22+ // DEBUG
23+ constructor = Napi::Persistent (func);
24+ constructor.SuppressDestruct ();
25+ exports.Set (" Logger" , func);
26+ return exports;
27+ }
28+
729/* *
830 * **`mapnik.Logger`**
931 *
@@ -15,39 +37,12 @@ Napi::FunctionReference Logger::constructor;
1537 * var log = mapnik.Logger.get_severity();
1638 * console.log(log); // 3
1739 */
18- void Logger::Initialize (Napi::Object target) {
19- Napi::HandleScope scope (env);
20-
21- Napi::FunctionReference lcons = Napi::Function::New (env, Logger::New);
22-
23- lcons->SetClassName (Napi::String::New (env, " Logger" ));
24-
25- // Static methods
26- Napi::SetMethod (Napi::GetFunction (lcons).As <Napi::Object>(), " getSeverity" , Logger::get_severity);
27- Napi::SetMethod (Napi::GetFunction (lcons).As <Napi::Object>(), " setSeverity" , Logger::set_severity);
28-
29- // Constants
30- NODE_MAPNIK_DEFINE_CONSTANT (Napi::GetFunction (lcons)," NONE" ,mapnik::logger::severity_type::none);
31- NODE_MAPNIK_DEFINE_CONSTANT (Napi::GetFunction (lcons)," ERROR" ,mapnik::logger::severity_type::error);
32- NODE_MAPNIK_DEFINE_CONSTANT (Napi::GetFunction (lcons)," DEBUG" ,mapnik::logger::severity_type::debug);
33- NODE_MAPNIK_DEFINE_CONSTANT (Napi::GetFunction (lcons)," WARN" ,mapnik::logger::severity_type::warn);
34-
35- // What about booleans like:
36- // ENABLE_STATS
37- // ENABLE_LOG
38- // DEFAULT_LOG_SEVERITY
39- // RENDERING_STATS
40- // DEBUG
41-
42- // Not sure if needed...
43- (target).Set (Napi::String::New (env, " Logger" ), Napi::GetFunction (lcons));
44- constructor.Reset (lcons);
45-
46- }
4740
48- Napi::Value Logger::New (Napi::CallbackInfo const & info){
41+ Logger::Logger (Napi::CallbackInfo const & info)
42+ : Napi::ObjectWrap<Logger>(info)
43+ {
44+ Napi::Env env = info.Env ();
4945 Napi::Error::New (env, " a mapnik.Logger cannot be created directly - rather you should ...." ).ThrowAsJavaScriptException ();
50- return env.Null ();
5146}
5247
5348/* *
@@ -57,9 +52,11 @@ Napi::Value Logger::New(Napi::CallbackInfo const& info){
5752 * @static
5853 * @returns {number} severity level
5954 */
60- Napi::Value Logger::get_severity (Napi::CallbackInfo const & info){
55+ Napi::Value Logger::get_severity (Napi::CallbackInfo const & info)
56+ {
57+ Napi::Env env = info.Env ();
6158 int severity = mapnik::logger::instance ().get_severity ();
62- return Napi::New (env, severity);
59+ return Napi::Number:: New (env, severity);
6360}
6461
6562/* *
@@ -73,13 +70,16 @@ Napi::Value Logger::get_severity(Napi::CallbackInfo const& info){
7370 * @param {number} severity - severity level
7471 * @returns {number} severity level
7572 */
76- Napi::Value Logger::set_severity (Napi::CallbackInfo const & info){
77- if (info.Length () != 1 || !info[0 ].IsNumber ()) {
73+ Napi::Value Logger::set_severity (Napi::CallbackInfo const & info)
74+ {
75+ Napi::Env env = info.Env ();
76+ if (info.Length () != 1 || !info[0 ].IsNumber ())
77+ {
7878 Napi::TypeError::New (env, " requires a severity level parameter" ).ThrowAsJavaScriptException ();
79- return env.Null ();
79+ return env.Undefined ();
8080 }
8181
8282 int severity = info[0 ].As <Napi::Number>().Int32Value ();
8383 mapnik::logger::instance ().set_severity (static_cast <mapnik::logger::severity_type>(severity));
84- return ;
84+ return env. Undefined () ;
8585}
0 commit comments