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 (String -> Object -> Either Text LuaRef
Object -> Either Text LuaRef
(Object -> Either Text LuaRef)
-> (String -> Object -> Either Text LuaRef) -> MsgpackDecode LuaRef
forall a.
(Object -> Either Text a)
-> (String -> Object -> Either Text a) -> MsgpackDecode a
missingKey :: String -> Object -> Either Text LuaRef
$cmissingKey :: String -> Object -> Either Text LuaRef
fromMsgpack :: Object -> Either Text LuaRef
$cfromMsgpack :: Object -> Either Text LuaRef
MsgpackDecode, LuaRef -> Object
(LuaRef -> Object) -> MsgpackEncode LuaRef
forall a. (a -> Object) -> MsgpackEncode a
toMsgpack :: LuaRef -> Object
$ctoMsgpack :: LuaRef -> Object
MsgpackEncode)