octane-0.1.0: library/Octane/Types/ObjectMap.hs
module Octane.Types.ObjectMap (ObjectMap(..)) where
import qualified Data.IntMap as IntMap
import Octane.Core
import Octane.Types.List
import Octane.Types.PCString
newtype ObjectMap = NewObjectMap
{ getObjectMap :: IntMap PCString
} deriving (Show)
instance Binary ObjectMap where
get = do
NewList objects <- get
objects & zip [0 ..] & IntMap.fromAscList & NewObjectMap & return
put (NewObjectMap objects) = do
objects & IntMap.elems & NewList & put