feat(napi): mark JsArraybufferValue's value pub (#2226)

This commit is contained in:
Richer 2024-08-23 22:25:52 +08:00 committed by GitHub
parent 249c27e06d
commit 5934ecd2a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 61 additions and 33 deletions

View File

@ -35,7 +35,7 @@ impl ValidateNapiValue for JsArrayBuffer {
}
pub struct JsArrayBufferValue {
pub(crate) value: JsArrayBuffer,
pub value: JsArrayBuffer,
len: usize,
data: *mut c_void,
}

View File

@ -388,6 +388,8 @@ Generated by [AVA](https://avajs.dev).
export declare function convertU32Array(input: Uint32Array): Array<number>
export declare function createArraybuffer(): ArrayBuffer␊
export declare function createBigInt(): bigint␊
export declare function createBigIntI64(): bigint␊

View File

@ -188,6 +188,7 @@ import {
callFinallyOnPromise,
StructuredKind,
validateStructuredEnum,
createArraybuffer,
} from '../index.cjs'
import { test } from './test.framework.js'
@ -907,6 +908,18 @@ test('async reduce buffer', async (t) => {
)
})
test('create arraybuffer with native', (t) => {
const ret = createArraybuffer()
t.true(ret instanceof ArrayBuffer)
const buf = new ArrayBuffer(4)
const view = new Uint8Array(buf)
view[0] = 1
view[1] = 2
view[2] = 3
view[3] = 4
t.deepEqual(ret, buf)
})
test('Uint8Array from String', async (t) => {
t.is(
Buffer.from(await uInit8ArrayFromString()).toString('utf8'),

View File

@ -349,22 +349,23 @@ function __napi_rs_initialize_modules(__napiInstance) {
__napiInstance.exports['__napi_register__array_buffer_pass_through_351']?.()
__napiInstance.exports['__napi_register__accept_slice_352']?.()
__napiInstance.exports['__napi_register__accept_arraybuffer_353']?.()
__napiInstance.exports['__napi_register__u8_array_to_array_354']?.()
__napiInstance.exports['__napi_register__i8_array_to_array_355']?.()
__napiInstance.exports['__napi_register__u16_array_to_array_356']?.()
__napiInstance.exports['__napi_register__i16_array_to_array_357']?.()
__napiInstance.exports['__napi_register__u32_array_to_array_358']?.()
__napiInstance.exports['__napi_register__i32_array_to_array_359']?.()
__napiInstance.exports['__napi_register__f32_array_to_array_360']?.()
__napiInstance.exports['__napi_register__f64_array_to_array_361']?.()
__napiInstance.exports['__napi_register__u64_array_to_array_362']?.()
__napiInstance.exports['__napi_register__i64_array_to_array_363']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_364']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_365']?.()
__napiInstance.exports['__napi_register__AsyncBuffer_impl_366']?.()
__napiInstance.exports['__napi_register__async_reduce_buffer_367']?.()
__napiInstance.exports['__napi_register__async_buffer_to_array_368']?.()
__napiInstance.exports['__napi_register__u_init8_array_from_string_369']?.()
__napiInstance.exports['__napi_register__create_arraybuffer_354']?.()
__napiInstance.exports['__napi_register__u8_array_to_array_355']?.()
__napiInstance.exports['__napi_register__i8_array_to_array_356']?.()
__napiInstance.exports['__napi_register__u16_array_to_array_357']?.()
__napiInstance.exports['__napi_register__i16_array_to_array_358']?.()
__napiInstance.exports['__napi_register__u32_array_to_array_359']?.()
__napiInstance.exports['__napi_register__i32_array_to_array_360']?.()
__napiInstance.exports['__napi_register__f32_array_to_array_361']?.()
__napiInstance.exports['__napi_register__f64_array_to_array_362']?.()
__napiInstance.exports['__napi_register__u64_array_to_array_363']?.()
__napiInstance.exports['__napi_register__i64_array_to_array_364']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_365']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_366']?.()
__napiInstance.exports['__napi_register__AsyncBuffer_impl_367']?.()
__napiInstance.exports['__napi_register__async_reduce_buffer_368']?.()
__napiInstance.exports['__napi_register__async_buffer_to_array_369']?.()
__napiInstance.exports['__napi_register__u_init8_array_from_string_370']?.()
}
export const Animal = __napiModule.exports.Animal
export const AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
@ -464,6 +465,7 @@ export const concatStr = __napiModule.exports.concatStr
export const concatUtf16 = __napiModule.exports.concatUtf16
export const contains = __napiModule.exports.contains
export const convertU32Array = __napiModule.exports.convertU32Array
export const createArraybuffer = __napiModule.exports.createArraybuffer
export const createBigInt = __napiModule.exports.createBigInt
export const createBigIntI64 = __napiModule.exports.createBigIntI64
export const createExternal = __napiModule.exports.createExternal

View File

@ -373,22 +373,23 @@ function __napi_rs_initialize_modules(__napiInstance) {
__napiInstance.exports['__napi_register__array_buffer_pass_through_351']?.()
__napiInstance.exports['__napi_register__accept_slice_352']?.()
__napiInstance.exports['__napi_register__accept_arraybuffer_353']?.()
__napiInstance.exports['__napi_register__u8_array_to_array_354']?.()
__napiInstance.exports['__napi_register__i8_array_to_array_355']?.()
__napiInstance.exports['__napi_register__u16_array_to_array_356']?.()
__napiInstance.exports['__napi_register__i16_array_to_array_357']?.()
__napiInstance.exports['__napi_register__u32_array_to_array_358']?.()
__napiInstance.exports['__napi_register__i32_array_to_array_359']?.()
__napiInstance.exports['__napi_register__f32_array_to_array_360']?.()
__napiInstance.exports['__napi_register__f64_array_to_array_361']?.()
__napiInstance.exports['__napi_register__u64_array_to_array_362']?.()
__napiInstance.exports['__napi_register__i64_array_to_array_363']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_364']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_365']?.()
__napiInstance.exports['__napi_register__AsyncBuffer_impl_366']?.()
__napiInstance.exports['__napi_register__async_reduce_buffer_367']?.()
__napiInstance.exports['__napi_register__async_buffer_to_array_368']?.()
__napiInstance.exports['__napi_register__u_init8_array_from_string_369']?.()
__napiInstance.exports['__napi_register__create_arraybuffer_354']?.()
__napiInstance.exports['__napi_register__u8_array_to_array_355']?.()
__napiInstance.exports['__napi_register__i8_array_to_array_356']?.()
__napiInstance.exports['__napi_register__u16_array_to_array_357']?.()
__napiInstance.exports['__napi_register__i16_array_to_array_358']?.()
__napiInstance.exports['__napi_register__u32_array_to_array_359']?.()
__napiInstance.exports['__napi_register__i32_array_to_array_360']?.()
__napiInstance.exports['__napi_register__f32_array_to_array_361']?.()
__napiInstance.exports['__napi_register__f64_array_to_array_362']?.()
__napiInstance.exports['__napi_register__u64_array_to_array_363']?.()
__napiInstance.exports['__napi_register__i64_array_to_array_364']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_365']?.()
__napiInstance.exports['__napi_register__accept_uint8_clamped_slice_and_buffer_slice_366']?.()
__napiInstance.exports['__napi_register__AsyncBuffer_impl_367']?.()
__napiInstance.exports['__napi_register__async_reduce_buffer_368']?.()
__napiInstance.exports['__napi_register__async_buffer_to_array_369']?.()
__napiInstance.exports['__napi_register__u_init8_array_from_string_370']?.()
}
module.exports.Animal = __napiModule.exports.Animal
module.exports.AnimalWithDefaultConstructor = __napiModule.exports.AnimalWithDefaultConstructor
@ -488,6 +489,7 @@ module.exports.concatStr = __napiModule.exports.concatStr
module.exports.concatUtf16 = __napiModule.exports.concatUtf16
module.exports.contains = __napiModule.exports.contains
module.exports.convertU32Array = __napiModule.exports.convertU32Array
module.exports.createArraybuffer = __napiModule.exports.createArraybuffer
module.exports.createBigInt = __napiModule.exports.createBigInt
module.exports.createBigIntI64 = __napiModule.exports.createBigIntI64
module.exports.createExternal = __napiModule.exports.createExternal

View File

@ -459,6 +459,7 @@ module.exports.concatStr = nativeBinding.concatStr
module.exports.concatUtf16 = nativeBinding.concatUtf16
module.exports.contains = nativeBinding.contains
module.exports.convertU32Array = nativeBinding.convertU32Array
module.exports.createArraybuffer = nativeBinding.createArraybuffer
module.exports.createBigInt = nativeBinding.createBigInt
module.exports.createBigIntI64 = nativeBinding.createBigIntI64
module.exports.createExternal = nativeBinding.createExternal

View File

@ -378,6 +378,8 @@ export declare function contains(source: string, target: string): boolean
export declare function convertU32Array(input: Uint32Array): Array<number>
export declare function createArraybuffer(): ArrayBuffer
export declare function createBigInt(): bigint
export declare function createBigIntI64(): bigint

View File

@ -59,6 +59,12 @@ fn accept_arraybuffer(fixture: JsArrayBuffer) -> Result<usize> {
Ok(fixture.into_value()?.as_ref().len())
}
#[napi]
fn create_arraybuffer(env: Env) -> Result<JsArrayBuffer> {
let buf = env.create_arraybuffer_with_data(vec![1, 2, 3, 4])?;
Ok(buf.value)
}
#[napi]
fn u8_array_to_array(input: &[u8]) -> Vec<u8> {
input.to_vec()