in src/addon.cc [33:54]
void GetProcessCpuUsage(const Nan::FunctionCallbackInfo<v8::Value>& args) {
if (args.Length() < 2) {
Nan::ThrowTypeError("GetProcessCpuUsage expects two arguments.");
return;
}
if (!args[0]->IsArray()) {
Nan::ThrowTypeError("The first argument of GetProcessCpuUsage, callback, must be an array.");
return;
}
if (!args[1]->IsFunction()) {
Nan::ThrowTypeError("The second argument of GetProcessCpuUsage, flags, must be a function.");
return;
}
// Read the ProcessTreeNode JS object
v8::Local<v8::Array> processes = v8::Local<v8::Array>::Cast(args[0]);
Nan::Callback *callback = new Nan::Callback(v8::Local<v8::Function>::Cast(args[1]));
GetCPUWorker *worker = new GetCPUWorker(callback, processes);
Nan::AsyncQueueWorker(worker);
}