module Edges.Cereal.Put where import Edges.Prelude import Edges.Types import Data.Serialize.Put import PrimitiveExtras.Cereal.Put nodeCounts :: Putter (NodeCounts entity) nodeCounts (NodeCounts pa) = primArray putWord32le pa edges :: Putter (Edges a b) edges (Edges targetSpaceValue mpaValue) = targetSpace <> mpa where targetSpace = putInt64le (fromIntegral targetSpaceValue) mpa = primMultiArray putWord32le mpaValue node :: Putter (Node a) node (Node int) = putInt64le (fromIntegral int)