| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/happymandarin/node_modules/v8-profiler/src/ |
Upload File : |
#include "heap_graph_node.h"
#include "heap_graph_edge.h"
namespace nodex {
using v8::Handle;
using v8::HeapGraphEdge;
using v8::Integer;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
Local<Value> GraphEdge::New(const HeapGraphEdge* node) {
Nan::EscapableHandleScope scope;
Local<Object> graph_edge = Nan::New<Object>();
Local<Value> type;
switch (node->GetType()) {
case HeapGraphEdge::kContextVariable :
type = Nan::New<String>("ContextVariable").ToLocalChecked();
break;
case HeapGraphEdge::kElement :
type = Nan::New<String>("Element").ToLocalChecked();
break;
case HeapGraphEdge::kProperty :
type = Nan::New<String>("Property").ToLocalChecked();
break;
case HeapGraphEdge::kInternal :
type = Nan::New<String>("Internal").ToLocalChecked();
break;
case HeapGraphEdge::kHidden :
type = Nan::New<String>("Hidden").ToLocalChecked();
break;
case HeapGraphEdge::kShortcut :
type = Nan::New<String>("Shortcut").ToLocalChecked();
break;
case HeapGraphEdge::kWeak :
type = Nan::New<String>("Weak").ToLocalChecked();
break;
default :
type = Nan::New<String>("Undefined").ToLocalChecked();
}
#if (NODE_MODULE_VERSION >= 45)
Local<Value> name = node->GetName();
#else
Local<Value> name = Nan::New<Value>(node->GetName());
#endif
Local<Value> from = GraphNode::New(node->GetFromNode());
Local<Value> to = GraphNode::New(node->GetToNode());
graph_edge->Set(Nan::New<String>("type").ToLocalChecked(), type);
graph_edge->Set(Nan::New<String>("name").ToLocalChecked(), name);
graph_edge->Set(Nan::New<String>("from").ToLocalChecked(), from);
graph_edge->Set(Nan::New<String>("to").ToLocalChecked(), to);
return scope.Escape(graph_edge);
}
}