@@ -976,49 +976,57 @@ pub fn Env(comptime State: type, comptime WebApis: type) type {
976976 // need this sentinel check to keep the compiler happy
977977 if (ptr .sentinel () == null ) {
978978 if (force_u8 or js_value .isUint8Array () or js_value .isUint8ClampedArray ()) {
979+ if (byte_len == 0 ) return &[_ ]u8 {};
979980 const arr_ptr = @as ([* ]u8 , @alignCast (@ptrCast (data )));
980981 return arr_ptr [0.. byte_len ];
981982 }
982983 }
983984 },
984985 i8 = > {
985986 if (js_value .isInt8Array ()) {
987+ if (byte_len == 0 ) return &[_ ]i8 {};
986988 const arr_ptr = @as ([* ]i8 , @alignCast (@ptrCast (data )));
987989 return arr_ptr [0.. byte_len ];
988990 }
989991 },
990992 u16 = > {
991993 if (js_value .isUint16Array ()) {
994+ if (byte_len == 0 ) return &[_ ]u16 {};
992995 const arr_ptr = @as ([* ]u16 , @alignCast (@ptrCast (data )));
993996 return arr_ptr [0 .. byte_len / 2 ];
994997 }
995998 },
996999 i16 = > {
9971000 if (js_value .isInt16Array ()) {
1001+ if (byte_len == 0 ) return &[_ ]i16 {};
9981002 const arr_ptr = @as ([* ]i16 , @alignCast (@ptrCast (data )));
9991003 return arr_ptr [0 .. byte_len / 2 ];
10001004 }
10011005 },
10021006 u32 = > {
10031007 if (js_value .isUint32Array ()) {
1008+ if (byte_len == 0 ) return &[_ ]u32 {};
10041009 const arr_ptr = @as ([* ]u32 , @alignCast (@ptrCast (data )));
10051010 return arr_ptr [0 .. byte_len / 4 ];
10061011 }
10071012 },
10081013 i32 = > {
10091014 if (js_value .isInt32Array ()) {
1015+ if (byte_len == 0 ) return &[_ ]i32 {};
10101016 const arr_ptr = @as ([* ]i32 , @alignCast (@ptrCast (data )));
10111017 return arr_ptr [0 .. byte_len / 4 ];
10121018 }
10131019 },
10141020 u64 = > {
10151021 if (js_value .isBigUint64Array ()) {
1022+ if (byte_len == 0 ) return &[_ ]u64 {};
10161023 const arr_ptr = @as ([* ]u64 , @alignCast (@ptrCast (data )));
10171024 return arr_ptr [0 .. byte_len / 8 ];
10181025 }
10191026 },
10201027 i64 = > {
10211028 if (js_value .isBigInt64Array ()) {
1029+ if (byte_len == 0 ) return &[_ ]i64 {};
10221030 const arr_ptr = @as ([* ]i64 , @alignCast (@ptrCast (data )));
10231031 return arr_ptr [0 .. byte_len / 8 ];
10241032 }
0 commit comments