gossamer/data_view

Types

A low-level view over an ArrayBuffer for reading and writing numeric values at byte offsets in either byte order.

See DataView on MDN.

pub type DataView

Values

pub fn byte_length(
  of view: DataView,
) -> Result(Int, js_error.JsError)

The number of bytes covered by the view. Returns an error if the underlying buffer has been detached or resized below the view’s range.

pub fn byte_offset(
  of view: DataView,
) -> Result(Int, js_error.JsError)

The offset, in bytes, from the start of the underlying buffer. Returns an error if the underlying buffer has been detached or resized below the view’s range.

pub fn get_bigint64(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(big_int.BigInt, js_error.JsError)

Reads a signed 64-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_biguint64(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(big_int.BigInt, js_error.JsError)

Reads an unsigned 64-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_float16(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Float, js_error.JsError)

Reads a 16-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn get_float32(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Float, js_error.JsError)

Reads a 32-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn get_float64(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Float, js_error.JsError)

Reads a 64-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn get_int16(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Int, js_error.JsError)

Reads a signed 16-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_int32(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Int, js_error.JsError)

Reads a signed 32-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_int8(
  view: DataView,
  at_offset offset: Int,
) -> Result(Int, js_error.JsError)

Reads a signed 8-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_uint16(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Int, js_error.JsError)

Reads an unsigned 16-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_uint32(
  view: DataView,
  at_offset offset: Int,
  little_endian little_endian: Bool,
) -> Result(Int, js_error.JsError)

Reads an unsigned 32-bit integer at offset. Returns an error if offset is out of bounds.

pub fn get_uint8(
  view: DataView,
  at_offset offset: Int,
) -> Result(Int, js_error.JsError)

Reads an unsigned 8-bit integer at offset. Returns an error if offset is out of bounds.

pub fn new(
  buffer: array_buffer.ArrayBuffer,
) -> Result(DataView, js_error.JsError)

Creates a DataView over the entirety of buffer. Returns an error if buffer is detached.

pub fn new_range(
  buffer: array_buffer.ArrayBuffer,
  byte_offset byte_offset: Int,
  byte_length byte_length: Int,
) -> Result(DataView, js_error.JsError)

Creates a DataView over a slice of buffer starting at byte_offset and spanning byte_length bytes. Returns an error if buffer is detached or the requested range falls outside buffer.

pub fn set_bigint64(
  view: DataView,
  at_offset offset: Int,
  value value: big_int.BigInt,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a signed 64-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_biguint64(
  view: DataView,
  at_offset offset: Int,
  value value: big_int.BigInt,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes an unsigned 64-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_float16(
  view: DataView,
  at_offset offset: Int,
  value value: Float,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a 16-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn set_float32(
  view: DataView,
  at_offset offset: Int,
  value value: Float,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a 32-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn set_float64(
  view: DataView,
  at_offset offset: Int,
  value value: Float,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a 64-bit IEEE 754 float at offset. Returns an error if offset is out of bounds.

pub fn set_int16(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a signed 16-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_int32(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes a signed 32-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_int8(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
) -> Result(Nil, js_error.JsError)

Writes a signed 8-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_uint16(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes an unsigned 16-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_uint32(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
  little_endian little_endian: Bool,
) -> Result(Nil, js_error.JsError)

Writes an unsigned 32-bit integer at offset. Returns an error if offset is out of bounds.

pub fn set_uint8(
  view: DataView,
  at_offset offset: Int,
  value value: Int,
) -> Result(Nil, js_error.JsError)

Writes an unsigned 8-bit integer at offset. Returns an error if offset is out of bounds.

Search Document