use crate::buffer::{Blob, File};
use rquickjs::{Class, Value};
pub fn blob_parts(value: &Value<'_>) -> Option<(Vec<u8>, String)> {
if let Ok(blob) = Class::<Blob<'_>>::from_value(value) {
let blob = blob.borrow();
return Some((blob.get_bytes(), blob.mime_type()));
}
file_parts(value).map(|(bytes, mime, _)| (bytes, mime))
}
pub fn file_parts(value: &Value<'_>) -> Option<(Vec<u8>, String, String)> {
let file = Class::<File<'_>>::from_value(value).ok()?;
let file = file.borrow();
let blob = file.get_blob();
Some((blob.get_bytes(), file.mime_type(), file.name()))
}