Idris2Doc : JS.Object

JS.Object

(source)
A Javascript `Object` is primarily a mapping from string
to values, and we can use them exactly as such. However,
objects can also be used as an intermediary representation
for encoding data from and to JSON.

This module therefore provides additional functionality:

A linear `LinObject` data type for encoding nested datastructure
into an intermediary object representation, and an immutable
`IObject` data type, mainly for decoding data, but also as an efficient
means for having an immutable string to data mapping.

Definitions

dataObject : Type
Totality: total
Visibility: export
Hints:
FromFFIObjectObject
JSTypeObject
ToFFIObjectObject
recordLinObject : Type
  Objects, mutable in a linear context. Useful for
efficient, non-monadic encoding of Idris2 values,
for instance to be used in an FFI call to an external
function, or when encoding Idris2 values to JSON through
the Javascript `JSON.stringify` function.

Totality: total
Visibility: export
Constructor: 
MkLinObject : Object->LinObject

Projection: 
.obj : LinObject->Object
newObj : (1_ : ((1_ : LinObject) ->a)) ->a
Totality: total
Visibility: export
thaw : (1_ : LinObject) ->IOObject
Totality: total
Visibility: export
lset : (1_ : LinObject) ->String->a->LinObject
Totality: total
Visibility: export
lget : (1_ : LinObject) ->String->ResAnyPtr (constLinObject)
Totality: total
Visibility: export
recordIObject : Type
Totality: total
Visibility: export
Constructor: 
MkIObject : Object->IObject

Projection: 
.obj : IObject->Object
freeze : (1_ : LinObject) ->IObject
Totality: total
Visibility: export
get : SafeCasta=>IObject->String->Maybea
Totality: total
Visibility: export
dataValue : Type
Totality: total
Visibility: public export
Constructors:
Arr : IArrayValue->Value
Boolean : Bool->Value
Null : Value
Num : Double->Value
Obj : IObject->Value
Str : String->Value
stringify : Value->String
Totality: total
Visibility: export
obj : (1_ : LinObject) ->Value
Totality: total
Visibility: export
lsetVal : (1_ : LinObject) ->String->Value->LinObject
Totality: total
Visibility: export
withPairs : List (String, Value) -> ((1_ : LinObject) ->a) ->a
Totality: total
Visibility: export
pairs : List (String, Value) ->Value
Totality: total
Visibility: export
vals : ListValue->Value
Totality: total
Visibility: export
parse : String->EitherJSErrValue
Totality: total
Visibility: export
parseMaybe : String->MaybeValue
Totality: total
Visibility: export
getObject : Value->MaybeIObject
Totality: total
Visibility: export
getBool : Value->MaybeBool
Totality: total
Visibility: export
getStr : Value->MaybeString
Totality: total
Visibility: export
getNum : Value->MaybeDouble
Totality: total
Visibility: export
getArray : Value->Maybe (IArrayValue)
Totality: total
Visibility: export
valueAt : IObject->String->MaybeValue
Totality: total
Visibility: export