-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Allow aeson data types to be used with Lua.
--
-- This package provides instances to push and receive any datatype
-- encodable as JSON to and from the Lua stack.
@package hslua-aeson
@version 2.2.0
-- | Pushes and retrieves aeson Values to and from the Lua stack.
--
--
-- - JSON null values are encoded as light userdata containing
-- the NULL pointer.
-- - Objects are converted to string-indexed tables.
-- - Arrays are converted to sequence tables and are given a metatable.
-- This makes it possible to distinguish between empty arrays and empty
-- objects. The metatable is stored in the registry under key 'HsLua
-- JSON array'' (see also jsonarray).
-- - JSON numbers are converted to Lua numbers, i.e., Number;
-- the exact C type may vary, depending on compile-time Lua
-- configuration.
--
module HsLua.Aeson
-- | Retrieves an Aeson Value from the Lua stack.
peekValue :: LuaError e => Peeker e Value
-- | Hslua StackValue instance for the Aeson Value data type.
pushValue :: LuaError e => Pusher e Value
-- | Retrieves a value from the Lua stack via JSON.
peekViaJSON :: (FromJSON a, LuaError e) => Peeker e a
-- | Pushes a value to the Lua stack as a JSON-like value.
pushViaJSON :: (ToJSON a, LuaError e) => Pusher e a