mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-04-03 02:41:06 +00:00
Add BufferSource && ArrayBufferView to &[u8]
This commit is contained in:
parent
c918d770bb
commit
cb8411b346
@ -40,6 +40,8 @@ pub(crate) enum IdlType<'a> {
|
|||||||
Uint32Array,
|
Uint32Array,
|
||||||
Float32Array,
|
Float32Array,
|
||||||
Float64Array,
|
Float64Array,
|
||||||
|
ArrayBufferView,
|
||||||
|
BufferSource,
|
||||||
|
|
||||||
Interface(&'a str),
|
Interface(&'a str),
|
||||||
Dictionary(&'a str),
|
Dictionary(&'a str),
|
||||||
@ -116,6 +118,8 @@ impl<'a> ToIdlType<'a> for NonAnyType<'a> {
|
|||||||
NonAnyType::Float32Array(t) => t.to_idl_type(record),
|
NonAnyType::Float32Array(t) => t.to_idl_type(record),
|
||||||
NonAnyType::Float64Array(t) => t.to_idl_type(record),
|
NonAnyType::Float64Array(t) => t.to_idl_type(record),
|
||||||
NonAnyType::FrozenArrayType(t) => t.to_idl_type(record),
|
NonAnyType::FrozenArrayType(t) => t.to_idl_type(record),
|
||||||
|
NonAnyType::ArrayBufferView(t) => t.to_idl_type(record),
|
||||||
|
NonAnyType::BufferSource(t) => t.to_idl_type(record),
|
||||||
NonAnyType::RecordType(t) => t.to_idl_type(record),
|
NonAnyType::RecordType(t) => t.to_idl_type(record),
|
||||||
NonAnyType::Identifier(t) => t.to_idl_type(record),
|
NonAnyType::Identifier(t) => t.to_idl_type(record),
|
||||||
}
|
}
|
||||||
@ -331,6 +335,8 @@ terms_to_idl_type! {
|
|||||||
Uint8ClampedArray => Uint8ClampedArray
|
Uint8ClampedArray => Uint8ClampedArray
|
||||||
Float32Array => Float32Array
|
Float32Array => Float32Array
|
||||||
Float64Array => Float64Array
|
Float64Array => Float64Array
|
||||||
|
ArrayBufferView => ArrayBufferView
|
||||||
|
BufferSource => BufferSource
|
||||||
Error => Error
|
Error => Error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -369,6 +375,8 @@ impl<'a> IdlType<'a> {
|
|||||||
IdlType::Uint32Array => dst.push_str("u32_array"),
|
IdlType::Uint32Array => dst.push_str("u32_array"),
|
||||||
IdlType::Float32Array => dst.push_str("f32_array"),
|
IdlType::Float32Array => dst.push_str("f32_array"),
|
||||||
IdlType::Float64Array => dst.push_str("f64_array"),
|
IdlType::Float64Array => dst.push_str("f64_array"),
|
||||||
|
IdlType::ArrayBufferView => dst.push_str("array_buffer_view"),
|
||||||
|
IdlType::BufferSource => dst.push_str("buffer_source"),
|
||||||
|
|
||||||
IdlType::Interface(name) => dst.push_str(&snake_case_ident(name)),
|
IdlType::Interface(name) => dst.push_str(&snake_case_ident(name)),
|
||||||
IdlType::Dictionary(name) => dst.push_str(&snake_case_ident(name)),
|
IdlType::Dictionary(name) => dst.push_str(&snake_case_ident(name)),
|
||||||
@ -458,7 +466,10 @@ impl<'a> IdlType<'a> {
|
|||||||
IdlType::Float32Array => Some(array("f32", pos)),
|
IdlType::Float32Array => Some(array("f32", pos)),
|
||||||
IdlType::Float64Array => Some(array("f64", pos)),
|
IdlType::Float64Array => Some(array("f64", pos)),
|
||||||
|
|
||||||
| IdlType::Interface(name)
|
// we alias ArrayBufferView & BufferSource to &u8 in Rust
|
||||||
|
IdlType::ArrayBufferView
|
||||||
|
| IdlType::BufferSource => Some(array("u8", pos)),
|
||||||
|
IdlType::Interface(name)
|
||||||
| IdlType::Dictionary(name) => {
|
| IdlType::Dictionary(name) => {
|
||||||
let ty = ident_ty(rust_ident(camel_case_ident(name).as_str()));
|
let ty = ident_ty(rust_ident(camel_case_ident(name).as_str()));
|
||||||
if pos == TypePosition::Argument {
|
if pos == TypePosition::Argument {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user