11/* *
2- * This is the Errros Class script, for wellformed & validation DTD
2+ * This is the Errors Class script, for wellformed & validation DTD
33*/
44#include < cstring>
55#include < iostream>
@@ -12,13 +12,13 @@ void setStringField(Napi::Object obj, const char *name, const char *value, Napi:
1212 {
1313 return ;
1414 }
15- ( obj) .Set (Napi::String::New (env, name) , Napi::String::New (env, value, strlen (value) ));
15+ obj.Set (name, Napi::String::New (env, value));
1616}
1717
1818void setNumericField (Napi::Object obj, const char *name, const int value, Napi::Env env)
1919{
2020 Napi::HandleScope scope (env);
21- ( obj) .Set (Napi::String::New (env, name) , Napi::Number::New (env, value));
21+ obj.Set (name, Napi::Number::New (env, value));
2222}
2323
2424Napi::Value
@@ -28,7 +28,7 @@ XmlSyntaxError::BuildSyntaxError(xmlError *error, Napi::Env env)
2828
2929 auto err = Napi::TypeError::New (env,
3030 Napi::String::New (env, error->message ));
31- Napi::Object out = Napi::Object ( );
31+ Napi::Object out = Napi::Object::New (env );
3232
3333 setStringField (out, " message" , error->message , env);
3434 setNumericField (out, " level" , error->level , env);
@@ -43,7 +43,8 @@ XmlSyntaxError::BuildSyntaxError(xmlError *error, Napi::Env env)
4343 return out;
4444}
4545
46- int XmlSyntaxError::maxError{100 };
46+ uint32_t XmlSyntaxError::maxError{100 };
47+ Napi::Env* XmlSyntaxError::env = nullptr ;
4748
4849void XmlSyntaxError::ChangeMaxNumberOfError (int max)
4950{
@@ -53,10 +54,20 @@ void XmlSyntaxError::ChangeMaxNumberOfError(int max)
5354void XmlSyntaxError::PushToArray (void *errs, xmlError *error)
5455{
5556 Napi::Array errors = *reinterpret_cast <Napi::Array *>(errs);
56- if (errors.Length >= maxError)
57+ if (errors.Length () >= maxError)
5758 {
5859 return ;
5960 }
60- Napi::Value castedError = {XmlSyntaxError::BuildSyntaxError (error, XmlSyntaxError::env)};
61- errors.Set (errors.Length , castedError);
61+ Napi::Value castedError = {XmlSyntaxError::BuildSyntaxError (error, *XmlSyntaxError::env)};
62+ errors.Set (errors.Length (), castedError);
63+ }
64+
65+ void XmlSyntaxError::PushToArray (Napi::Array& errors, const char * errorMessage)
66+ {
67+ if (errors.Length () >= maxError)
68+ {
69+ return ;
70+ }
71+ Napi::String messageToPush = Napi::String::New (*XmlSyntaxError::env, errorMessage);
72+ errors.Set (errors.Length (), messageToPush);
6273}
0 commit comments