@@ -171,7 +171,7 @@ void EIO_AfterOpen(uv_work_t* req) {
171
171
}
172
172
173
173
NAN_METHOD (Update) {
174
-
174
+
175
175
// file descriptor
176
176
if (!info[0 ]->IsInt32 ()) {
177
177
Nan::ThrowTypeError (" First argument must be an int" );
@@ -461,16 +461,52 @@ void EIO_AfterList(uv_work_t* req) {
461
461
int i = 0 ;
462
462
for (std::list<ListResultItem*>::iterator it = data->results .begin (); it != data->results .end (); ++it, i++) {
463
463
v8::Local<v8::Object> item = Nan::New<v8::Object>();
464
- Nan::Set (item, Nan::New<v8::String>(" comName" ).ToLocalChecked (), Nan::New<v8::String>((*it)->comName .c_str ()).ToLocalChecked ());
465
- Nan::Set (item, Nan::New<v8::String>(" manufacturer" ).ToLocalChecked (), Nan::New<v8::String>((*it)->manufacturer .c_str ()).ToLocalChecked ());
466
- Nan::Set (item, Nan::New<v8::String>(" serialNumber" ).ToLocalChecked (), Nan::New<v8::String>((*it)->serialNumber .c_str ()).ToLocalChecked ());
467
- Nan::Set (item, Nan::New<v8::String>(" pnpId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->pnpId .c_str ()).ToLocalChecked ());
468
- Nan::Set (item, Nan::New<v8::String>(" locationId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->locationId .c_str ()).ToLocalChecked ());
469
- Nan::Set (item, Nan::New<v8::String>(" vendorId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->vendorId .c_str ()).ToLocalChecked ());
470
- Nan::Set (item, Nan::New<v8::String>(" productId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->productId .c_str ()).ToLocalChecked ());
464
+
465
+ if (strlen ((*it)->comName .c_str ()) > 0 ) {
466
+ Nan::Set (item, Nan::New<v8::String>(" comName" ).ToLocalChecked (), Nan::New<v8::String>((*it)->comName .c_str ()).ToLocalChecked ());
467
+ } else {
468
+ Nan::Set (item, Nan::New<v8::String>(" comName" ).ToLocalChecked (), Nan::Undefined ());
469
+ }
470
+
471
+ if (strlen ((*it)->manufacturer .c_str ()) > 0 ) {
472
+ Nan::Set (item, Nan::New<v8::String>(" manufacturer" ).ToLocalChecked (), Nan::New<v8::String>((*it)->manufacturer .c_str ()).ToLocalChecked ());
473
+ } else {
474
+ Nan::Set (item, Nan::New<v8::String>(" manufacturer" ).ToLocalChecked (), Nan::Undefined ());
475
+ }
476
+
477
+ if (strlen ((*it)->serialNumber .c_str ()) > 0 ) {
478
+ Nan::Set (item, Nan::New<v8::String>(" serialNumber" ).ToLocalChecked (), Nan::New<v8::String>((*it)->serialNumber .c_str ()).ToLocalChecked ());
479
+ } else {
480
+ Nan::Set (item, Nan::New<v8::String>(" serialNumber" ).ToLocalChecked (), Nan::Undefined ());
481
+ }
482
+
483
+ if (strlen ((*it)->pnpId .c_str ()) > 0 ) {
484
+ Nan::Set (item, Nan::New<v8::String>(" pnpId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->pnpId .c_str ()).ToLocalChecked ());
485
+ } else {
486
+ Nan::Set (item, Nan::New<v8::String>(" pnpId" ).ToLocalChecked (), Nan::Undefined ());
487
+ }
488
+
489
+ if (strlen ((*it)->locationId .c_str ()) > 0 ) {
490
+ Nan::Set (item, Nan::New<v8::String>(" locationId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->locationId .c_str ()).ToLocalChecked ());
491
+ } else {
492
+ Nan::Set (item, Nan::New<v8::String>(" locationId" ).ToLocalChecked (), Nan::Undefined ());
493
+ }
494
+
495
+ if (strlen ((*it)->vendorId .c_str ()) > 0 ) {
496
+ Nan::Set (item, Nan::New<v8::String>(" vendorId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->vendorId .c_str ()).ToLocalChecked ());
497
+ } else {
498
+ Nan::Set (item, Nan::New<v8::String>(" vendorId" ).ToLocalChecked (), Nan::Undefined ());
499
+ }
500
+
501
+ if (strlen ((*it)->productId .c_str ()) > 0 ) {
502
+ Nan::Set (item, Nan::New<v8::String>(" productId" ).ToLocalChecked (), Nan::New<v8::String>((*it)->productId .c_str ()).ToLocalChecked ());
503
+ } else {
504
+ Nan::Set (item, Nan::New<v8::String>(" productId" ).ToLocalChecked (), Nan::Undefined ());
505
+ }
506
+
471
507
Nan::Set (results, i, item);
472
508
}
473
- argv[0 ] = Nan::Undefined ();
509
+ argv[0 ] = Nan::Null ();
474
510
argv[1 ] = results;
475
511
}
476
512
data->callback ->Call (2 , argv);
0 commit comments