summaryrefslogtreecommitdiff
path: root/serde_v8/magic/detached_buffer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'serde_v8/magic/detached_buffer.rs')
-rw-r--r--serde_v8/magic/detached_buffer.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/serde_v8/magic/detached_buffer.rs b/serde_v8/magic/detached_buffer.rs
index 7ee4dfb21..bc4b3de67 100644
--- a/serde_v8/magic/detached_buffer.rs
+++ b/serde_v8/magic/detached_buffer.rs
@@ -8,6 +8,7 @@ use super::transl8::FromV8;
use super::transl8::ToV8;
use super::v8slice::to_ranged_buffer;
use super::v8slice::V8Slice;
+use crate::error::value_to_type_str;
use crate::magic::transl8::impl_magic;
// A buffer that detaches when deserialized from JS
@@ -57,10 +58,10 @@ impl FromV8 for DetachedBuffer {
scope: &mut v8::HandleScope,
value: v8::Local<v8::Value>,
) -> Result<Self, crate::Error> {
- let (b, range) =
- to_ranged_buffer(scope, value).or(Err(crate::Error::ExpectedBuffer))?;
+ let (b, range) = to_ranged_buffer(scope, value)
+ .map_err(|_| crate::Error::ExpectedBuffer(value_to_type_str(value)))?;
if !b.is_detachable() {
- return Err(crate::Error::ExpectedDetachable);
+ return Err(crate::Error::ExpectedDetachable(value_to_type_str(value)));
}
let store = b.get_backing_store();
b.detach(None); // Detach