hermes-json-0.3.0.0: src/Data/Hermes/SIMDJSON/Types.hs
module Data.Hermes.SIMDJSON.Types
( -- * simdjson Opaque Types
Array(..)
, ArrayIter(..)
, Document(..)
, InputBuffer(..)
, JSONArray
, JSONArrayIter
, JSONObject
, JSONObjectIter
, JSONValue
, Object(..)
, ObjectIter(..)
, PaddedString
, Parser(..)
, SIMDDocument
, SIMDErrorCode(..)
, SIMDParser
, Value(..)
)
where
import Foreign.Ptr (Ptr)
-- | A reference to an opaque simdjson::ondemand::parser.
newtype Parser = Parser (Ptr SIMDParser)
-- | A reference to an opaque simdjson::ondemand::document.
newtype Document = Document (Ptr SIMDDocument)
-- | A reference to an opaque simdjson::padded_string.
newtype InputBuffer = InputBuffer (Ptr PaddedString)
-- | A reference to an opaque simdjson::ondemand::value.
newtype Value = Value (Ptr JSONValue)
-- | A reference to an opaque simdjson::ondemand::object.
newtype Object = Object (Ptr JSONObject)
-- | A reference to an opaque simdjson::ondemand::array.
newtype Array = Array (Ptr JSONArray)
-- | A reference to an opaque simdjson::ondemand::array_iterator.
newtype ArrayIter = ArrayIter (Ptr JSONArrayIter)
-- | A reference to an opaque simdjson::ondemand::object_iterator.
newtype ObjectIter = ObjectIter (Ptr JSONObjectIter)
-- | Phantom type for a pointer to simdjson::ondemand::parser.
data SIMDParser
-- | Phantom type for a pointer to simdjson::ondemand::document.
data SIMDDocument
-- | Phantom type for a pointer to simdjson::padded_string.
data PaddedString
-- | Phantom type for a pointer to simdjson::ondemand::value.
data JSONValue
-- | Phantom type for a pointer to simdjson::ondemand::object.
data JSONObject
-- | Phantom type for a pointer to simdjson::ondemand::array.
data JSONArray
-- | Phantom type for a pointer to simdjson::ondemand::array_iterator
data JSONArrayIter
-- | Phantom type for a pointer to simdjson::ondemand::object_iterator
data JSONObjectIter
-- | Enum for simdjson errors.
data SIMDErrorCode =
SUCCESS
| CAPACITY
| MEMALLOC
| TAPE_ERROR
| DEPTH_ERROR
| STRING_ERROR
| T_ATOM_ERROR
| F_ATOM_ERROR
| N_ATOM_ERROR
| NUMBER_ERROR
| UTF8_ERROR
| UNINITIALIZED
| EMPTY
| UNESCAPED_CHARS
| UNCLOSED_STRING
| UNSUPPORTED_ARCHITECTURE
| INCORRECT_TYPE
| NUMBER_OUT_OF_RANGE
| INDEX_OUT_OF_BOUNDS
| NO_SUCH_FIELD
| IO_ERROR
| INVALID_JSON_POINTER
| INVALID_URI_FRAGMENT
| UNEXPECTED_ERROR
| PARSER_IN_USE
| OUT_OF_ORDER_ITERATION
| INSUFFICIENT_PADDING
| INCOMPLETE_ARRAY_OR_OBJECT
| SCALAR_DOCUMENT_AS_VALUE
| OUT_OF_BOUNDS
| NUM_ERROR_CODES
deriving (Eq, Show, Bounded, Enum)