1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-21 04:52:26 -05:00

perf: return the value not a struct but a tuple

This commit is contained in:
Hajime-san 2024-09-29 23:05:03 +09:00
parent fb6b87d656
commit 3beb65b9f0
2 changed files with 5 additions and 18 deletions

View file

@ -271,9 +271,9 @@ function createImageBitmap(
imageBitmapSource,
mimeType,
);
imageBitmap[_bitmapData] = processedImage.data;
imageBitmap[_width] = processedImage.width;
imageBitmap[_height] = processedImage.height;
imageBitmap[_bitmapData] = processedImage[0];
imageBitmap[_width] = processedImage[1];
imageBitmap[_height] = processedImage[2];
return imageBitmap;
})();
}

View file

@ -22,7 +22,6 @@ use image::DynamicImage;
use image::ImageError;
use image::RgbaImage;
use serde::Deserialize;
use serde::Serialize;
use crate::error::image_error_message;
use crate::error::DOMExceptionInvalidStateError;
@ -71,14 +70,6 @@ enum ResizeQuality {
High,
}
#[derive(Debug, Serialize)]
#[serde(rename_all = "camelCase")]
struct OpCreateImageBitmapReturn {
data: ToJsBuffer,
width: u32,
height: u32,
}
type DecodeBitmapDataReturn = (DynamicImage, u32, u32, Option<Vec<u8>>);
fn decode_bitmap_data(
@ -282,7 +273,7 @@ pub(super) fn op_create_image_bitmap(
#[serde] resize_quality: ResizeQuality,
#[serde] image_bitmap_source: ImageBitmapSource,
#[string] mime_type: &str,
) -> Result<OpCreateImageBitmapReturn, AnyError> {
) -> Result<(ToJsBuffer, u32, u32), AnyError> {
// 6. Switch on image:
let (image, width, height, icc_profile) =
decode_bitmap_data(&buf, width, height, &image_bitmap_source, mime_type)?;
@ -381,9 +372,5 @@ pub(super) fn op_create_image_bitmap(
let image =
apply_premultiply_alpha(image, &image_bitmap_source, &premultiply_alpha)?;
Ok(OpCreateImageBitmapReturn {
data: image.into_bytes().into(),
width: output_width,
height: output_height,
})
Ok((image.into_bytes().into(), output_width, output_height))
}