Module

Data.ObjectMap.ST

Package
purescript-object-maps
Repository
thought2/purescript-object-maps

#STObjectMap Source

newtype STObjectMap :: Region -> Type -> Type -> Typenewtype STObjectMap r k v

#delete Source

delete :: forall r k v. EncodeJson k => k -> STObjectMap r k v -> ST r (STObjectMap r k v)

Remove a key and the corresponding value from a mutable map

#freeze Source

freeze :: forall r k v. STObjectMap r k v -> ST r (ObjectMap k v)

Convert a mutable map into an immutable map

#new Source

new :: forall r k v. ST r (STObjectMap r k v)

Create a new, empty mutable map

#peek Source

peek :: forall r k v. EncodeJson k => k -> STObjectMap r k v -> ST r (Maybe v)

Get the value for a key in a mutable map

#poke Source

poke :: forall r k v. EncodeJson k => k -> v -> STObjectMap r k v -> ST r (STObjectMap r k v)

Update the value for a key in a mutable map

#modify Source

modify :: forall r k v. EncodeJson k => k -> (Maybe v -> Maybe v) -> STObjectMap r k v -> ST r (STObjectMap r k v)

Similar to alter but for mutable maps

#run Source

run :: forall k v. (forall r. ST r (STObjectMap r k v)) -> ObjectMap k v

#thaw Source

thaw :: forall r k v. ObjectMap k v -> ST r (STObjectMap r k v)

Convert an immutable map into a mutable map

#unsafeFreeze Source

unsafeFreeze :: forall r k v. STObjectMap r k v -> ST r (ObjectMap k v)

Unsafely get the map out of ST without copying it