Data.ArrayBuffer.Class
- Package
- purescript-arraybuffer-class
- Repository
- athanclark/purescript-arraybuffer-class
#EncodeArrayBuffer Source
class EncodeArrayBuffer a where
Members
putArrayBuffer :: ArrayBuffer -> ByteOffset -> a -> Effect (Maybe ByteLength)
Instances
EncodeArrayBuffer Uint32BE
EncodeArrayBuffer Uint32LE
EncodeArrayBuffer Uint16BE
EncodeArrayBuffer Uint16LE
EncodeArrayBuffer Uint8
EncodeArrayBuffer Int32BE
EncodeArrayBuffer Int32LE
EncodeArrayBuffer Int16BE
EncodeArrayBuffer Int16LE
EncodeArrayBuffer Int8
EncodeArrayBuffer Float32BE
EncodeArrayBuffer Float32LE
EncodeArrayBuffer Float64BE
EncodeArrayBuffer Float64LE
EncodeArrayBuffer Unit
EncodeArrayBuffer Void
EncodeArrayBuffer Boolean
EncodeArrayBuffer Ordering
EncodeArrayBuffer CodePoint
EncodeArrayBuffer Char
EncodeArrayBuffer String
(EncodeArrayBuffer a) => EncodeArrayBuffer (Additive a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Multiplicative a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Conj a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Disj a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Dual a)
(EncodeArrayBuffer (c a a)) => EncodeArrayBuffer (Endo c a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Maybe a)
(EncodeArrayBuffer a, EncodeArrayBuffer b) => EncodeArrayBuffer (Tuple a b)
(EncodeArrayBuffer a, EncodeArrayBuffer b) => EncodeArrayBuffer (Either a b)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Array a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (List a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (NonEmpty Array a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (NonEmpty List a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Object a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Set a)
(EncodeArrayBuffer a, EncodeArrayBuffer k) => EncodeArrayBuffer (Map k a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (HashSet a)
(EncodeArrayBuffer k, EncodeArrayBuffer a) => EncodeArrayBuffer (HashMap k a)
(GEncodeArrayBuffer row list, RowToList row list) => EncodeArrayBuffer (Record row)
EncodeArrayBuffer ArrayBuffer
EncodeArrayBuffer DataView
EncodeArrayBuffer (ArrayView a)
EncodeArrayBuffer (AV a t)
EncodeArrayBuffer NoConstructors
EncodeArrayBuffer NoArguments
(EncodeArrayBuffer a, EncodeArrayBuffer b) => EncodeArrayBuffer (Sum a b)
(EncodeArrayBuffer a, EncodeArrayBuffer b) => EncodeArrayBuffer (Product a b)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Constructor name a)
(EncodeArrayBuffer a) => EncodeArrayBuffer (Argument a)
#DecodeArrayBuffer Source
class DecodeArrayBuffer a where
Members
readArrayBuffer :: ArrayBuffer -> ByteOffset -> Effect (Maybe a)
Returns the value parsed if successful. This function should strictly read the
ArrayBuffer
, and shouldn't attempt to write to it.
Instances
DecodeArrayBuffer Uint32BE
DecodeArrayBuffer Uint32LE
DecodeArrayBuffer Uint16BE
DecodeArrayBuffer Uint16LE
DecodeArrayBuffer Uint8
DecodeArrayBuffer Int32BE
DecodeArrayBuffer Int32LE
DecodeArrayBuffer Int16BE
DecodeArrayBuffer Int16LE
DecodeArrayBuffer Int8
DecodeArrayBuffer Float32BE
DecodeArrayBuffer Float32LE
DecodeArrayBuffer Float64BE
DecodeArrayBuffer Float64LE
DecodeArrayBuffer Unit
DecodeArrayBuffer Void
DecodeArrayBuffer Boolean
DecodeArrayBuffer Ordering
DecodeArrayBuffer CodePoint
DecodeArrayBuffer Char
DecodeArrayBuffer String
(DecodeArrayBuffer a) => DecodeArrayBuffer (Additive a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Multiplicative a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Conj a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Disj a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Dual a)
(DecodeArrayBuffer (c a a)) => DecodeArrayBuffer (Endo c a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Maybe a)
(DecodeArrayBuffer a, DecodeArrayBuffer b, DynamicByteLength a, DynamicByteLength b) => DecodeArrayBuffer (Tuple a b)
(DecodeArrayBuffer a, DecodeArrayBuffer b, DynamicByteLength a, DynamicByteLength b) => DecodeArrayBuffer (Either a b)
(DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (Array a)
(DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (List a)
(DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (NonEmpty Array a)
(DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (NonEmpty List a)
(DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (Object a)
(Ord a, DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (Set a)
(Ord k, DecodeArrayBuffer k, DecodeArrayBuffer a, DynamicByteLength k, DynamicByteLength a) => DecodeArrayBuffer (Map k a)
(Hashable a, DecodeArrayBuffer a, DynamicByteLength a) => DecodeArrayBuffer (HashSet a)
(Hashable k, DecodeArrayBuffer k, DecodeArrayBuffer a, DynamicByteLength k, DynamicByteLength a) => DecodeArrayBuffer (HashMap k a)
(GDecodeArrayBuffer row list, RowToList row list) => DecodeArrayBuffer (Record row)
DecodeArrayBuffer ArrayBuffer
DecodeArrayBuffer DataView
(TypedArray a t) => DecodeArrayBuffer (ArrayView a)
(TypedArray a t) => DecodeArrayBuffer (AV a t)
DecodeArrayBuffer NoConstructors
DecodeArrayBuffer NoArguments
(DecodeArrayBuffer a, DecodeArrayBuffer b, DynamicByteLength a, DynamicByteLength b) => DecodeArrayBuffer (Sum a b)
(DecodeArrayBuffer a, DecodeArrayBuffer b, DynamicByteLength a, DynamicByteLength b) => DecodeArrayBuffer (Product a b)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Constructor name a)
(DecodeArrayBuffer a) => DecodeArrayBuffer (Argument a)
#DynamicByteLength Source
class DynamicByteLength a where
Members
byteLength :: a -> Effect ByteLength
Get the byte length of a value at runtime. Should be identical for read and written values.
Instances
DynamicByteLength Uint32BE
DynamicByteLength Uint32LE
DynamicByteLength Uint16BE
DynamicByteLength Uint16LE
DynamicByteLength Uint8
DynamicByteLength Int32BE
DynamicByteLength Int32LE
DynamicByteLength Int16BE
DynamicByteLength Int16LE
DynamicByteLength Int8
DynamicByteLength Float32BE
DynamicByteLength Float32LE
DynamicByteLength Float64BE
DynamicByteLength Float64LE
DynamicByteLength Unit
DynamicByteLength Void
DynamicByteLength Boolean
DynamicByteLength Ordering
DynamicByteLength CodePoint
DynamicByteLength Char
DynamicByteLength String
(DynamicByteLength a) => DynamicByteLength (Maybe a)
(DynamicByteLength a, DynamicByteLength b) => DynamicByteLength (Tuple a b)
(DynamicByteLength a, DynamicByteLength b) => DynamicByteLength (Either a b)
(DynamicByteLength a) => DynamicByteLength (Array a)
(DynamicByteLength a) => DynamicByteLength (List a)
(DynamicByteLength a) => DynamicByteLength (NonEmpty Array a)
(DynamicByteLength a) => DynamicByteLength (NonEmpty List a)
(DynamicByteLength a) => DynamicByteLength (Additive a)
(DynamicByteLength a) => DynamicByteLength (Multiplicative a)
(DynamicByteLength (c a a)) => DynamicByteLength (Endo c a)
(DynamicByteLength a) => DynamicByteLength (Dual a)
(DynamicByteLength a) => DynamicByteLength (Disj a)
(DynamicByteLength a) => DynamicByteLength (Conj a)
(DynamicByteLength a) => DynamicByteLength (Object a)
(DynamicByteLength a) => DynamicByteLength (Set a)
(DynamicByteLength a, DynamicByteLength k) => DynamicByteLength (Map k a)
(DynamicByteLength a) => DynamicByteLength (HashSet a)
(DynamicByteLength k, DynamicByteLength a) => DynamicByteLength (HashMap k a)
DynamicByteLength ArrayBuffer
DynamicByteLength DataView
DynamicByteLength (ArrayView a)
DynamicByteLength (AV a t)
(GEncodeArrayBuffer row list) => DynamicByteLength (Record row)
DynamicByteLength NoConstructors
DynamicByteLength NoArguments
(DynamicByteLength a, DynamicByteLength b) => DynamicByteLength (Sum a b)
(DynamicByteLength a, DynamicByteLength b) => DynamicByteLength (Product a b)
(DynamicByteLength a) => DynamicByteLength (Constructor name a)
(DynamicByteLength a) => DynamicByteLength (Argument a)
#encodeArrayBuffer Source
encodeArrayBuffer :: forall a. EncodeArrayBuffer a => DynamicByteLength a => a -> Effect ArrayBuffer
Generate a new ArrayBuffer
from a value. Throws an Error
if writing fails, or if the written bytes
do not equal the dynamic byteLength
of the value.
#decodeArrayBuffer Source
decodeArrayBuffer :: forall a. DecodeArrayBuffer a => ArrayBuffer -> Effect (Maybe a)
Attempt to parse a value from an ArrayBuffer
, starting at the first index.
#GEncodeArrayBuffer Source
class GEncodeArrayBuffer (row :: Row Type) (list :: RowList) where
Members
gPutArrayBuffer :: Record row -> RLProxy list -> Effect (Object ArrayBuffer)
Instances
GEncodeArrayBuffer row Nil
(EncodeArrayBuffer value, DynamicByteLength value, GEncodeArrayBuffer row tail, IsSymbol field, Cons field value tail' row) => GEncodeArrayBuffer row (Cons field value tail)
#GDecodeArrayBuffer Source
class GDecodeArrayBuffer (row :: Row Type) (list :: RowList) | list -> row where
Members
gReadArrayBuffer :: Object ArrayBuffer -> RLProxy list -> Effect (Record row)
Instances
GDecodeArrayBuffer () Nil
(DecodeArrayBuffer value, GDecodeArrayBuffer rowTail tail, IsSymbol field, Cons field value rowTail row, Lacks field rowTail) => GDecodeArrayBuffer row (Cons field value tail)
#genericByteLength Source
genericByteLength :: forall rep a. Generic a rep => DynamicByteLength rep => a -> Effect ByteLength
Determine a data type's byte length by walking its generic structure - note there is significant
overhead due to nested Sum
types.
#genericPutArrayBuffer Source
genericPutArrayBuffer :: forall rep a. Generic a rep => EncodeArrayBuffer rep => ArrayBuffer -> ByteOffset -> a -> Effect (Maybe ByteLength)
Write data to an ArrayBuffer
by walking its Generic
structure - note this causes significant
overhead from nested Sum
types.
#genericReadArrayBuffer Source
genericReadArrayBuffer :: forall rep a. Generic a rep => DecodeArrayBuffer rep => ArrayBuffer -> ByteOffset -> Effect (Maybe a)
Read data from an ArrayBuffer
by building its Generic
structure - note this causes significant
overhead from nested Sum
types.
Returns the bytes written indicating partial success - for exact success, the written bytes should equal the value's dynamic
byteLength
. This function should strictly write to theArrayBuffer
, and shouldn't attempt to read from it.