Copyright | © 2017–2021 Albert Krewinkel |
---|---|
License | MIT |
Maintainer | Albert Krewinkel <tarleb@zeitkraut.de> |
Safe Haskell | None |
Language | Haskell2010 |
Glue to HsLua for aeson values.
This provides a StackValue
instance for aeson's Value
type. The following
conventions are used:
Null
values are encoded as a special value (stored in the registry fieldHSLUA_AESON_NULL
). Usingnil
would cause problems with null-containing arrays.- Objects are converted to tables in a straight-forward way.
- Arrays are converted to Lua tables. Array-length is included as the value at index 0. This makes it possible to distinguish between empty arrays and empty objects.
- JSON numbers are converted to Lua numbers (usually doubles), which can cause a loss of precision.
Synopsis
- peekValue :: LuaError e => Peeker e Value
- pushValue :: LuaError e => Pusher e Value
- peekVector :: LuaError e => Peeker e a -> Peeker e (Vector a)
- pushVector :: LuaError e => Pusher e a -> Pusher e (Vector a)
- pushNull :: LuaError e => LuaE e ()
- peekScientific :: Peeker e Scientific
- pushScientific :: Pusher e Scientific
- peekKeyMap :: Peeker e a -> Peeker e (KeyMap a)
- pushKeyMap :: LuaError e => Pusher e a -> Pusher e (KeyMap a)
Documentation
pushValue :: LuaError e => Pusher e Value Source #
Hslua StackValue instance for the Aeson Value data type.
peekVector :: LuaError e => Peeker e a -> Peeker e (Vector a) Source #
Try reading the value under the given index as a vector.