feat(napi): impl create_uint32
This commit is contained in:
parent
6b032caca8
commit
f29ddc3a19
2 changed files with 16 additions and 1 deletions
|
@ -127,7 +127,7 @@ npm test
|
||||||
| [napi_create_typedarray](https://nodejs.org/api/n-api.html#n_api_napi_create_typedarray) | 1 | v8.0.0 | ⛔️ |
|
| [napi_create_typedarray](https://nodejs.org/api/n-api.html#n_api_napi_create_typedarray) | 1 | v8.0.0 | ⛔️ |
|
||||||
| [napi_create_dataview](https://nodejs.org/api/n-api.html#n_api_napi_create_dataview) | 1 | v8.3.0 | ⛔️ |
|
| [napi_create_dataview](https://nodejs.org/api/n-api.html#n_api_napi_create_dataview) | 1 | v8.3.0 | ⛔️ |
|
||||||
| [napi_create_int32](https://nodejs.org/api/n-api.html#n_api_napi_create_int32) | 1 | v8.4.0 | ⛔️ |
|
| [napi_create_int32](https://nodejs.org/api/n-api.html#n_api_napi_create_int32) | 1 | v8.4.0 | ⛔️ |
|
||||||
| [napi_create_uint32](https://nodejs.org/api/n-api.html#n_api_napi_create_uint32) | 1 | v8.4.0 | ⛔️ |
|
| [napi_create_uint32](https://nodejs.org/api/n-api.html#n_api_napi_create_uint32) | 1 | v8.4.0 | ✅ |
|
||||||
| [napi_create_int64](https://nodejs.org/api/n-api.html#n_api_napi_create_int64) | 1 | v8.4.0 | ✅ |
|
| [napi_create_int64](https://nodejs.org/api/n-api.html#n_api_napi_create_int64) | 1 | v8.4.0 | ✅ |
|
||||||
| [napi_create_double](https://nodejs.org/api/n-api.html#n_api_napi_create_double) | 1 | v8.4.0 | ⛔️ |
|
| [napi_create_double](https://nodejs.org/api/n-api.html#n_api_napi_create_double) | 1 | v8.4.0 | ⛔️ |
|
||||||
| [napi_create_bigint_int64](https://nodejs.org/api/n-api.html#n_api_napi_create_bigint_int64) | 6 | v10.7.0 | ⛔️ |
|
| [napi_create_bigint_int64](https://nodejs.org/api/n-api.html#n_api_napi_create_bigint_int64) | 6 | v10.7.0 | ⛔️ |
|
||||||
|
|
|
@ -45,6 +45,7 @@ pub struct Boolean {
|
||||||
#[derive(Clone, Copy, Debug)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub enum Number {
|
pub enum Number {
|
||||||
Int(i64),
|
Int(i64),
|
||||||
|
U32(u32),
|
||||||
Double(f64),
|
Double(f64),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,6 +267,14 @@ impl Env {
|
||||||
Ok(Value::from_raw_value(self, raw_value, Number::Int(int)))
|
Ok(Value::from_raw_value(self, raw_value, Number::Int(int)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn create_uint32<'a>(&'a self, number: u32) -> Result<Value<'a, Number>> {
|
||||||
|
let mut raw_value = ptr::null_mut();
|
||||||
|
let status =
|
||||||
|
unsafe { sys::napi_create_uint32(self.0, number, (&mut raw_value) as *mut sys::napi_value) };
|
||||||
|
check_status(status)?;
|
||||||
|
Ok(Value::from_raw_value(self, raw_value, Number::U32(number)))
|
||||||
|
}
|
||||||
|
|
||||||
pub fn create_double<'a>(&'a self, double: f64) -> Result<Value<'a, Number>> {
|
pub fn create_double<'a>(&'a self, double: f64) -> Result<Value<'a, Number>> {
|
||||||
let mut raw_value = ptr::null_mut();
|
let mut raw_value = ptr::null_mut();
|
||||||
let status =
|
let status =
|
||||||
|
@ -1043,6 +1052,12 @@ impl<'env> Value<'env, Object> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<'env> AsRef<[u8]> for Value<'env, Buffer> {
|
||||||
|
fn as_ref(&self) -> &[u8] {
|
||||||
|
self.deref()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<'env> Deref for Value<'env, Buffer> {
|
impl<'env> Deref for Value<'env, Buffer> {
|
||||||
type Target = [u8];
|
type Target = [u8];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue