| 72 | } |
| 73 | |
| 74 | inline |
| 75 | Nan::MaybeLocal<v8::Value> Parse(v8::Local<v8::String> json_string) { |
| 76 | Nan::EscapableHandleScope scope; |
| 77 | #if NAN_JSON_H_NEED_PARSE |
| 78 | return scope.Escape(parse(json_string)); |
| 79 | #else |
| 80 | Nan::MaybeLocal<v8::Value> result; |
| 81 | #if NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION && \ |
| 82 | NODE_MODULE_VERSION <= IOJS_2_0_MODULE_VERSION |
| 83 | result = v8::JSON::Parse(json_string); |
| 84 | #else |
| 85 | #if NODE_MODULE_VERSION > NODE_6_0_MODULE_VERSION |
| 86 | v8::Local<v8::Context> context_or_isolate = Nan::GetCurrentContext(); |
| 87 | #else |
| 88 | v8::Isolate* context_or_isolate = v8::Isolate::GetCurrent(); |
| 89 | #endif // NODE_MODULE_VERSION > NODE_6_0_MODULE_VERSION |
| 90 | result = v8::JSON::Parse(context_or_isolate, json_string); |
| 91 | #endif // NODE_MODULE_VERSION >= NODE_0_12_MODULE_VERSION && |
| 92 | // NODE_MODULE_VERSION <= IOJS_2_0_MODULE_VERSION |
| 93 | if (result.IsEmpty()) return v8::Local<v8::Value>(); |
| 94 | return scope.Escape(result.ToLocalChecked()); |
| 95 | #endif // NAN_JSON_H_NEED_PARSE |
| 96 | } |
| 97 | |
| 98 | inline |
| 99 | Nan::MaybeLocal<v8::String> Stringify(v8::Local<v8::Object> json_object) { |
no test coverage detected