module Ribosome.Host.Data.LuaRef where

import Ribosome.Host.Class.Msgpack.Decode (MsgpackDecode)
import Ribosome.Host.Class.Msgpack.Encode (MsgpackEncode)

newtype LuaRef =
  LuaRef { LuaRef -> Int64
unLuaRef :: Int64 }
  deriving stock ((forall x. LuaRef -> Rep LuaRef x)
-> (forall x. Rep LuaRef x -> LuaRef) -> Generic LuaRef
forall x. Rep LuaRef x -> LuaRef
forall x. LuaRef -> Rep LuaRef x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep LuaRef x -> LuaRef
$cfrom :: forall x. LuaRef -> Rep LuaRef x
Generic)
  deriving anyclass (Object -> Either DecodeError LuaRef
(Object -> Either DecodeError LuaRef) -> MsgpackDecode LuaRef
forall a. (Object -> Either DecodeError a) -> MsgpackDecode a
fromMsgpack :: Object -> Either DecodeError LuaRef
$cfromMsgpack :: Object -> Either DecodeError LuaRef
MsgpackDecode, LuaRef -> Object
(LuaRef -> Object) -> MsgpackEncode LuaRef
forall a. (a -> Object) -> MsgpackEncode a
toMsgpack :: LuaRef -> Object
$ctoMsgpack :: LuaRef -> Object
MsgpackEncode)