Module Brr.Blob

Blob objects.

See the Blob Interface.

Enumerations

module Ending_type : sig ... end

The line ending type enum.

Blobs

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.

Loading

type progress = (float * float) option -> unit

The type for loading progress callbacks.

If the length is computable the function is periodically called with Some (loaded, total) which are respectively the loaded and total fields of the progress event. If the length is not computable it is called with None.

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

array_buffer b is an array buffer with the contents of b. If progress is specified, the given callback reports it (in this case the load happens via a FileReader object).

val stream : t -> Jv.t

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

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

text b is the string that results from UTF-8 decoding the contents of b. If progress is specified, the given callback reports it (in this case the load happens via a FileReader object).

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

data_uri b is b as a data URI. If progress is specified, the given callback reports it. This function always goes through FileReader object.