ferrijs_std/web/
blob_bytes.rs1use crate::buffer::{Blob, File};
8use rquickjs::{Class, Value};
9
10pub fn blob_parts(value: &Value<'_>) -> Option<(Vec<u8>, String)> {
13 if let Ok(blob) = Class::<Blob<'_>>::from_value(value) {
14 let blob = blob.borrow();
15 return Some((blob.get_bytes(), blob.mime_type()));
16 }
17 file_parts(value).map(|(bytes, mime, _)| (bytes, mime))
18}
19
20pub fn file_parts(value: &Value<'_>) -> Option<(Vec<u8>, String, String)> {
22 let file = Class::<File<'_>>::from_value(value).ok()?;
23 let file = file.borrow();
24 let blob = file.get_blob();
25 Some((blob.get_bytes(), file.mime_type(), file.name()))
26}