Safe Haskell | None |
---|---|
Language | GHC2021 |
Flatbuffers.Parser
Contents
Synopsis
- data Parser a
- data TableParser a
- data UnionParser a
- data Error
- = VTableAlignmentError
- | VTableLengthError
- | UnionTagOutOfBounds
- | TableOffsetAlignmentError
- | StringOffsetAlignmentError
- | FieldStringAlignmentError
- | VTableLengthOutOfBoundsError
- | VTableLengthAlignmentError
- | VTableIndexOutOfBoundsError !Int !Int
- | NegativeVTableIndexError !Int
- | TableVTableEndOfInputError
- | TableAlignmentError
- | StringNotUtf8
- | StringOffsetOutOfBounds
- | TagImpliesUnionNone
- | VTableImpliesOutOfBoundsField
- | VTableLengthLessThanFour !Int !Int
- | FieldBooleanNotInRange
- | FieldInt16AlignmentError
- | FieldInt32AlignmentError
- | FieldInt64AlignmentError
- | DefaultingStringNotSupportedYet
- | DefaultingTableNotSupported
- | VTableSizeImpliesTableOutOfBounds
- | TooSmallForRootTableOffset
- | RootTableOffsetOutOfBounds
- | RootTableOffsetLessThanFourError
- | ArrayOffsetOutOfBounds
- | ArrayOfStructOffsetOutOfBounds
- | ArrayOfStructPayloadOutOfBounds !Int !Int !Int
- | ArrayOffsetAlignmentError
- | ArrayOfStructOffsetAlignmentError
- | FieldArrayAlignmentError
- | ExpectedWord8EqButGot !Word8 !Word8
- | ExpectedWord16EqButGot !Word16 !Word16
- | MissingFieldWithIndex !Int
- | UnsupportedUnionTag !Word8
- run :: TableParser a -> ByteArray -> Either Error a
- tableParserThrow :: Error -> TableParser a
- boolean :: TableParser Bool
- int8 :: TableParser Int8
- int16 :: TableParser Int16
- word8Eq :: Word8 -> TableParser ()
- word16 :: TableParser Word16
- word16Eq :: Word16 -> TableParser ()
- int32 :: TableParser Int32
- int64 :: TableParser Int64
- ignore :: TableParser ()
- string :: TableParser Text
- union :: UnionParser a -> TableParser a
- table :: TableParser a -> TableParser a
- optTable :: TableParser a -> TableParser (Maybe a)
- array :: TableParser a -> TableParser (SmallArray a)
- structs :: Prim a => TableParser (PrimArray a)
- constructUnion2 :: TableParser a -> TableParser a -> UnionParser a
- constructUnion3 :: TableParser a -> TableParser a -> TableParser a -> UnionParser a
- constructUnionFromList :: [TableParser a] -> UnionParser a
Documentation
data TableParser a Source #
Instances
Applicative TableParser Source # | |
Defined in Flatbuffers.Parser Methods pure :: a -> TableParser a # (<*>) :: TableParser (a -> b) -> TableParser a -> TableParser b # liftA2 :: (a -> b -> c) -> TableParser a -> TableParser b -> TableParser c # (*>) :: TableParser a -> TableParser b -> TableParser b # (<*) :: TableParser a -> TableParser b -> TableParser a # | |
Functor TableParser Source # | |
Defined in Flatbuffers.Parser Methods fmap :: (a -> b) -> TableParser a -> TableParser b # (<$) :: a -> TableParser b -> TableParser a # | |
Monad TableParser Source # | |
Defined in Flatbuffers.Parser Methods (>>=) :: TableParser a -> (a -> TableParser b) -> TableParser b # (>>) :: TableParser a -> TableParser b -> TableParser b # return :: a -> TableParser a # |
data UnionParser a Source #
Unions can only be unions of tables. In 2017, flatbuffers changed this to support more types, but this library sticks with the original restriction to make things more simple.
Constructors
run :: TableParser a -> ByteArray -> Either Error a Source #
Reads the first four bytes to determine the root table.
tableParserThrow :: Error -> TableParser a Source #
Table Fields
int8 :: TableParser Int8 Source #
int16 :: TableParser Int16 Source #
word8Eq :: Word8 -> TableParser () Source #
word16Eq :: Word16 -> TableParser () Source #
int32 :: TableParser Int32 Source #
int64 :: TableParser Int64 Source #
ignore :: TableParser () Source #
string :: TableParser Text Source #
Use a string as a field in a table.
union :: UnionParser a -> TableParser a Source #
If the tag is set to zero for the None option, this fails.
table :: TableParser a -> TableParser a Source #
Use a table as a field in another table.
optTable :: TableParser a -> TableParser (Maybe a) Source #
array :: TableParser a -> TableParser (SmallArray a) Source #
Use an array of tables as a field in a table.
Unions
constructUnion2 :: TableParser a -> TableParser a -> UnionParser a Source #
constructUnion3 :: TableParser a -> TableParser a -> TableParser a -> UnionParser a Source #
constructUnionFromList :: [TableParser a] -> UnionParser a Source #