diff options
Diffstat (limited to 'src/js_stream.cc')
-rw-r--r-- | src/js_stream.cc | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/js_stream.cc b/src/js_stream.cc index 6ebdb5a356..e51c4ae9b3 100644 --- a/src/js_stream.cc +++ b/src/js_stream.cc @@ -135,7 +135,8 @@ static void FreeCallback(char* data, void* hint) { void JSStream::DoAlloc(const FunctionCallbackInfo<Value>& args) { - JSStream* wrap = Unwrap<JSStream>(args.Holder()); + JSStream* wrap; + ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder()); uv_buf_t buf; wrap->OnAlloc(args[0]->Int32Value(), &buf); @@ -150,7 +151,8 @@ void JSStream::DoAlloc(const FunctionCallbackInfo<Value>& args) { void JSStream::DoRead(const FunctionCallbackInfo<Value>& args) { - JSStream* wrap = Unwrap<JSStream>(args.Holder()); + JSStream* wrap; + ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder()); CHECK(Buffer::HasInstance(args[1])); uv_buf_t buf = uv_buf_init(Buffer::Data(args[1]), Buffer::Length(args[1])); @@ -159,8 +161,11 @@ void JSStream::DoRead(const FunctionCallbackInfo<Value>& args) { void JSStream::DoAfterWrite(const FunctionCallbackInfo<Value>& args) { - JSStream* wrap = Unwrap<JSStream>(args.Holder()); - WriteWrap* w = Unwrap<WriteWrap>(args[0].As<Object>()); + JSStream* wrap; + CHECK(args[0]->IsObject()); + WriteWrap* w; + ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder()); + ASSIGN_OR_RETURN_UNWRAP(&w, args[0].As<Object>()); wrap->OnAfterWrite(w); } @@ -168,14 +173,17 @@ void JSStream::DoAfterWrite(const FunctionCallbackInfo<Value>& args) { template <class Wrap> void JSStream::Finish(const FunctionCallbackInfo<Value>& args) { - Wrap* w = Unwrap<Wrap>(args[0].As<Object>()); + Wrap* w; + CHECK(args[0]->IsObject()); + ASSIGN_OR_RETURN_UNWRAP(&w, args[0].As<Object>()); w->Done(args[1]->Int32Value()); } void JSStream::ReadBuffer(const FunctionCallbackInfo<Value>& args) { - JSStream* wrap = Unwrap<JSStream>(args.Holder()); + JSStream* wrap; + ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder()); CHECK(Buffer::HasInstance(args[0])); char* data = Buffer::Data(args[0]); @@ -197,7 +205,8 @@ void JSStream::ReadBuffer(const FunctionCallbackInfo<Value>& args) { void JSStream::EmitEOF(const FunctionCallbackInfo<Value>& args) { - JSStream* wrap = Unwrap<JSStream>(args.Holder()); + JSStream* wrap; + ASSIGN_OR_RETURN_UNWRAP(&wrap, args.Holder()); wrap->OnRead(UV_EOF, nullptr); } |