Skip to content

Commit f5a9e99

Browse files
Merge pull request #44 from karlseguin/value_is_typed_array
Add a functions to check if a value is a [specific] TypedArray
2 parents 14ea439 + f524c10 commit f5a9e99

File tree

3 files changed

+69
-6
lines changed

3 files changed

+69
-6
lines changed

src/binding.cpp

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -754,12 +754,30 @@ bool v8__Value__IsString(const v8::Value& self) { return self.IsString(); }
754754

755755
bool v8__Value__IsArray(const v8::Value& self) { return self.IsArray(); }
756756

757+
bool v8__Value__IsTypedArray(const v8::Value& self) { return self.IsTypedArray(); }
758+
759+
bool v8__Value__IsUint8Array(const v8::Value& self) { return self.IsUint8Array(); }
760+
761+
bool v8__Value__IsUint8ClampedArray(const v8::Value& self) { return self.IsUint8ClampedArray(); }
762+
763+
bool v8__Value__IsInt8Array(const v8::Value& self) { return self.IsInt8Array(); }
764+
765+
bool v8__Value__IsUint16Array(const v8::Value& self) { return self.IsUint16Array(); }
766+
767+
bool v8__Value__IsInt16Array(const v8::Value& self) { return self.IsInt16Array(); }
768+
769+
bool v8__Value__IsUint32Array(const v8::Value& self) { return self.IsUint32Array(); }
770+
771+
bool v8__Value__IsInt32Array(const v8::Value& self) { return self.IsInt32Array(); }
772+
773+
bool v8__Value__IsFloat32Array(const v8::Value& self) { return self.IsFloat32Array(); }
774+
775+
bool v8__Value__IsFloat64Array(const v8::Value& self) { return self.IsFloat64Array(); }
776+
757777
bool v8__Value__IsArrayBuffer(const v8::Value& self) { return self.IsArrayBuffer(); }
758778

759779
bool v8__Value__IsArrayBufferView(const v8::Value& self) { return self.IsArrayBufferView(); }
760780

761-
bool v8__Value__IsUint8Array(const v8::Value& self) { return self.IsUint8Array(); }
762-
763781
bool v8__Value__IsExternal(const v8::Value& self) { return self.IsExternal(); }
764782

765783
bool v8__Value__IsTrue(const v8::Value& self) { return self.IsTrue(); }

src/binding.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,15 @@ bool v8__Value__IsAsyncFunction(const Value* self);
402402
bool v8__Value__IsObject(const Value* self);
403403
bool v8__Value__IsString(const Value* self);
404404
bool v8__Value__IsArray(const Value* self);
405+
bool v8__Value__IsTypedArray(const Value* self);
406+
bool v8__Value__IsUint8ClampedArray(const Value* self);
407+
bool v8__Value__IsInt8Array(const Value* self);
408+
bool v8__Value__IsUint16Array(const Value* self);
409+
bool v8__Value__IsInt16Array(const Value* self);
410+
bool v8__Value__IsUint32Array(const Value* self);
411+
bool v8__Value__IsInt32Array(const Value* self);
412+
bool v8__Value__IsFloat32Array(const Value* self);
413+
bool v8__Value__IsFloat64Array(const Value* self);
405414
bool v8__Value__IsArrayBuffer(const Value* self);
406415
bool v8__Value__IsArrayBufferView(const Value* self);
407416
bool v8__Value__IsUint8Array(const Value* self);

src/v8.zig

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1936,6 +1936,46 @@ pub const Value = struct {
19361936
return c.v8__Value__IsArray(self.handle);
19371937
}
19381938

1939+
pub fn isTypedArray(self: Self) bool {
1940+
return c.v8__Value__IsTypedArray(self.handle);
1941+
}
1942+
1943+
pub fn isUint8Array(self: Self) bool {
1944+
return c.v8__Value__IsUint8Array(self.handle);
1945+
}
1946+
1947+
pub fn isUint8ClampedArray(self: Self) bool {
1948+
return c.v8__Value__IsUint8ClampedArray(self.handle);
1949+
}
1950+
1951+
pub fn isInt8Array(self: Self) bool {
1952+
return c.v8__Value__IsInt8Array(self.handle);
1953+
}
1954+
1955+
pub fn isUint16Array(self: Self) bool {
1956+
return c.v8__Value__IsUint16Array(self.handle);
1957+
}
1958+
1959+
pub fn isInt16Array(self: Self) bool {
1960+
return c.v8__Value__IsInt16Array(self.handle);
1961+
}
1962+
1963+
pub fn isUint32Array(self: Self) bool {
1964+
return c.v8__Value__IsUint32Array(self.handle);
1965+
}
1966+
1967+
pub fn isInt32Array(self: Self) bool {
1968+
return c.v8__Value__IsInt32Array(self.handle);
1969+
}
1970+
1971+
pub fn isFloat32Array(self: Self) bool {
1972+
return c.v8__Value__IsFloat32Array(self.handle);
1973+
}
1974+
1975+
pub fn isFloat64Array(self: Self) bool {
1976+
return c.v8__Value__IsFloat64Array(self.handle);
1977+
}
1978+
19391979
pub fn isArrayBuffer(self: Self) bool {
19401980
return c.v8__Value__IsArrayBuffer(self.handle);
19411981
}
@@ -1944,10 +1984,6 @@ pub const Value = struct {
19441984
return c.v8__Value__IsArrayBufferView(self.handle);
19451985
}
19461986

1947-
pub fn isUint8Array(self: Self) bool {
1948-
return c.v8__Value__IsUint8Array(self.handle);
1949-
}
1950-
19511987
pub fn isExternal(self: Self) bool {
19521988
return c.v8__Value__IsExternal(self.handle);
19531989
}

0 commit comments

Comments
 (0)