Copyright | © 2017–2022 Albert Krewinkel |
---|---|
License | MIT |
Maintainer | Albert Krewinkel <tarleb@zeitkraut.de> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Pushes and retrieves aeson Value
s to and from the Lua stack.
- JSON
null
values are encoded as light userdata containing theNULL
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 alsojsonarray
). - JSON numbers are converted to Lua numbers, i.e.,
Number
; the exact C type may vary, depending on compile-time Lua configuration.
Documentation
pushValue :: LuaError e => Pusher e Value Source #
Hslua StackValue instance for the Aeson Value data type.
peekViaJSON :: (FromJSON a, LuaError e) => Peeker e a Source #
Retrieves a value from the Lua stack via JSON.
pushViaJSON :: (ToJSON a, LuaError e) => Pusher e a Source #
Pushes a value to the Lua stack as a JSON-like value.
Name of the registry slot holding the metatable given to array tables. The registry entry can be replaced with a different table if needed.
Encoding arbitrary objects
peekToAeson :: Peeker e (ToAeson e) Source #
Gets the ToAeson
function from a Lua userdata object.
pushToAeson :: Pusher e (ToAeson e) Source #
Pushes a function that converts the object at a given index into a
Value
.