Module Brr.Blob

Blob objects.

See the Blob Interface.


module Ending_type : sig ... end

The line ending type enum.


type init

The type for blob initialisation objects.

val init : ?⁠type':Jstr.t -> ?⁠endings:Ending_type.t -> unit -> init

init () is a blob initialisation object with given properties.

type t

The type for Blob objects.

val of_jstr : ?⁠init:init -> Jstr.t -> t

of_jstr ~init s is a blob containing the UTF-8 encoded data of s.

val of_array_buffer : ?⁠init:init -> Tarray.Buffer.t -> t

of_array_buffer ~init b is a blob containing the bytes of b.

val byte_length : t -> int

byte_length b is the byte length of the blob.

val type' : t -> Jstr.t

type' b is the MIME type of b or Jstr.empty if unknown.

val slice : ?⁠start:int -> ?⁠stop:int -> ?⁠type':Jstr.t -> t -> t

slice ~start ~stop ~type b are the bytes in range [start;stop-1] as blob. start defaults to 0 and stop to byte_length b.

If start or stop are negative they are subtracted from byte_length b. This means that -1 denotes the last byte of the blob.

type' specifies the resulting type for the blob, defaults to the empty string.

val array_buffer : t -> Tarray.Buffer.t Fut.or_error

array_buffer b is an array buffer with the contents of b.

val stream : t -> Jv.t

stream b is a stream to read the contents of b.

val text : t -> Jstr.t Fut.or_error

text b is the string that results from UTF-8 decoding the contents of b.

val data_uri : t -> Jstr.t Fut.or_error

data_uri b is b as a data URI (via the FileReader API).