aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/napi/napi.zig15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/napi/napi.zig b/src/napi/napi.zig
index 033b4d758..b4f054a21 100644
--- a/src/napi/napi.zig
+++ b/src/napi/napi.zig
@@ -744,16 +744,19 @@ pub export fn napi_create_external_arraybuffer(env: napi_env, external_data: ?*a
result.* = external.toArrayBuffer(env);
return .ok;
}
-pub export fn napi_get_arraybuffer_info(env: napi_env, arraybuffer: napi_value, data: *[*]u8, byte_length: *usize) napi_status {
+pub export fn napi_get_arraybuffer_info(env: napi_env, arraybuffer: napi_value, data: ?*[*]u8, byte_length: ?*usize) napi_status {
const array_buffer = arraybuffer.asArrayBuffer(env) orelse return .arraybuffer_expected;
var slice = array_buffer.slice();
- data.* = slice.ptr;
- byte_length.* = slice.len;
+ if (data) |dat|
+ dat.* = slice.ptr;
+ if (byte_length) |len|
+ len.* = slice.len;
return .ok;
}
-pub export fn napi_is_typedarray(_: napi_env, value: napi_value, result: *bool) napi_status {
- result.* = value.jsTypeLoose().isTypedArray();
- return .ok;
+pub export fn napi_is_typedarray(_: napi_env, value: napi_value, result: ?*bool) napi_status {
+ if (result != null)
+ result.?.* = value.jsTypeLoose().isTypedArray();
+ return if (result != null) .ok else .invalid_arg;
}
pub export fn napi_create_typedarray(env: napi_env, @"type": napi_typedarray_type, length: usize, arraybuffer: napi_value, byte_offset: usize, result: *napi_value) napi_status {
result.* = JSValue.c(