blob: 8703a7b8be2cbb08be0e207a6bef22ac985b1dd8 [file] [log] [blame]
FlatBuffers.@scopedenum MetadataVersion::Int16 V1 V2 V3 V4 V5
struct Null <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Null) = ()
nullStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
nullEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Struct <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Struct) = ()
structStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
structEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct List <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::List) = ()
listStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
listEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct LargeList <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::LargeList) = ()
largeListStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
largeListEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct FixedSizeList <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::FixedSizeList) = (:listSize,)
function Base.getproperty(x::FixedSizeList, field::Symbol)
if field === :listSize
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
return Int32(0)
end
return nothing
end
fixedSizeListStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
fixedSizeListAddListSize(b::FlatBuffers.Builder, listSize::Int32) = FlatBuffers.prependslot!(b, 0, listSize, 0)
fixedSizeListEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Map <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Map) = (:keysSorted,)
function Base.getproperty(x::Map, field::Symbol)
if field === :keysSorted
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Base.Bool)
end
return nothing
end
mapStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
mapAddKeysSorted(b::FlatBuffers.Builder, keyssorted::Base.Bool) = FlatBuffers.prependslot!(b, 0, keyssorted, 0)
mapEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum UnionMode::Int16 Sparse Dense
struct Union <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Union) = (:mode, :typeIds)
function Base.getproperty(x::Union, field::Symbol)
if field === :mode
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), UnionMode)
return UnionMode.Sparse
elseif field === :typeIds
o = FlatBuffers.offset(x, 6)
o != 0 && return FlatBuffers.Array{Int32}(x, o)
end
return nothing
end
unionStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
unionAddMode(b::FlatBuffers.Builder, mode::UnionMode) = FlatBuffers.prependslot!(b, 0, mode, 0)
unionAddTypeIds(b::FlatBuffers.Builder, typeIds::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 1, typeIds, 0)
unionStartTypeIdsVector(b::FlatBuffers.Builder, numelems) = FlatBuffers.startvector!(b, 4, numelems, 4)
unionEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Int <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Int) = (:bitWidth, :is_signed)
function Base.getproperty(x::Int, field::Symbol)
if field === :bitWidth
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
elseif field === :is_signed
o = FlatBuffers.offset(x, 6)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Base.Bool)
return false
end
return nothing
end
intStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
intAddBitWidth(b::FlatBuffers.Builder, bitwidth::Int32) = FlatBuffers.prependslot!(b, 0, bitwidth, 0)
intAddIsSigned(b::FlatBuffers.Builder, issigned::Base.Bool) = FlatBuffers.prependslot!(b, 1, issigned, 0)
intEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum Precision::Int16 HALF SINGLE DOUBLE
struct FloatingPoint <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::FloatingPoint) = (:precision,)
function Base.getproperty(x::FloatingPoint, field::Symbol)
if field === :precision
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Precision)
return Precision.HALF
end
return nothing
end
floatingPointStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
floatingPointAddPrecision(b::FlatBuffers.Builder, precision::Precision) = FlatBuffers.prependslot!(b, 0, precision, 0)
floatingPointEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Utf8 <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Utf8) = ()
utf8Start(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
utf8End(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Binary <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Binary) = ()
binaryStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
binaryEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct LargeUtf8 <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::LargeUtf8) = ()
largUtf8Start(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
largUtf8End(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct LargeBinary <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::LargeBinary) = ()
largeBinaryStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
largeBinaryEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct FixedSizeBinary <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::FixedSizeBinary) = (:byteWidth,)
function Base.getproperty(x::FixedSizeBinary, field::Symbol)
if field === :byteWidth
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
end
return nothing
end
fixedSizeBinaryStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
fixedSizeBinaryAddByteWidth(b::FlatBuffers.Builder, bytewidth::Int32) = FlatBuffers.prependslot!(b, 0, bytewidth, 0)
fixedSizeBinaryEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Bool <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Bool) = ()
boolStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 0)
boolEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Decimal <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Decimal) = (:precision, :scale)
function Base.getproperty(x::Decimal, field::Symbol)
if field === :precision
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
return Int32(0)
elseif field === :scale
o = FlatBuffers.offset(x, 6)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
return Int32(0)
end
return nothing
end
decimalStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
decimalAddPrecision(b::FlatBuffers.Builder, precision::Int32) = FlatBuffers.prependslot!(b, 0, precision, 0)
decimalAddScale(b::FlatBuffers.Builder, scale::Int32) = FlatBuffers.prependslot!(b, 1, scale, 0)
decimalEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum DateUnit::Int16 DAY MILLISECOND
struct Date <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Date) = (:unit,)
function Base.getproperty(x::Date, field::Symbol)
if field === :unit
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), DateUnit)
return DateUnit.MILLISECOND
end
return nothing
end
dateStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
dateAddUnit(b::FlatBuffers.Builder, unit::DateUnit) = FlatBuffers.prependslot!(b, 0, unit, 1)
dateEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum TimeUnit::Int16 SECOND MILLISECOND MICROSECOND NANOSECOND
struct Time <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Time) = (:unit, :bitWidth)
function Base.getproperty(x::Time, field::Symbol)
if field === :unit
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), TimeUnit)
return TimeUnit.MILLISECOND
elseif field === :bitWidth
o = FlatBuffers.offset(x, 6)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int32)
return 32
end
return nothing
end
timeStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
timeAddUnit(b::FlatBuffers.Builder, unit::TimeUnit) = FlatBuffers.prependslot!(b, 0, unit, 1)
timeAddBitWidth(b::FlatBuffers.Builder, bitwidth::Int32) = FlatBuffers.prependslot!(b, 1, bitwidth, 32)
timeEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Timestamp <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Timestamp) = (:unit, :timezone)
function Base.getproperty(x::Timestamp, field::Symbol)
if field === :unit
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), TimeUnit)
return TimeUnit.SECOND
elseif field === :timezone
o = FlatBuffers.offset(x, 6)
o != 0 && return String(x, o + FlatBuffers.pos(x))
end
return nothing
end
timestampStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
timestampAddUnit(b::FlatBuffers.Builder, unit::TimeUnit) = FlatBuffers.prependslot!(b, 0, unit, 0)
timestampAddTimezone(b::FlatBuffers.Builder, timezone::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 1, timezone, 0)
timestampEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum IntervalUnit::Int16 YEAR_MONTH DAY_TIME
struct Interval <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Interval) = (:unit,)
function Base.getproperty(x::Interval, field::Symbol)
if field === :unit
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), IntervalUnit)
return IntervalUnit.YEAR_MONTH
end
return nothing
end
intervalStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
intervalAddUnit(b::FlatBuffers.Builder, unit::IntervalUnit) = FlatBuffers.prependslot!(b, 0, unit, 0)
intervalEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Duration <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Duration) = (:unit,)
function Base.getproperty(x::Duration, field::Symbol)
if field === :unit
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), TimeUnit)
return TimeUnit.MILLISECOND
end
return nothing
end
durationStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 1)
durationAddUnit(b::FlatBuffers.Builder, unit::TimeUnit) = FlatBuffers.prependslot!(b, 0, unit, 1)
durationEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
function Type(b::UInt8)
b == 1 && return Null
b == 2 && return Int
b == 3 && return FloatingPoint
b == 4 && return Binary
b == 5 && return Utf8
b == 6 && return Bool
b == 7 && return Decimal
b == 8 && return Date
b == 9 && return Time
b == 10 && return Timestamp
b == 11 && return Interval
b == 12 && return List
b == 13 && return Struct
b == 14 && return Union
b == 15 && return FixedSizeBinary
b == 16 && return FixedSizeList
b == 17 && return Map
b == 18 && return Duration
b == 19 && return LargeBinary
b == 20 && return LargeUtf8
b == 21 && return LargeList
return nothing
end
function Type(::Base.Type{T})::Int16 where {T}
T == Null && return 1
T == Int && return 2
T == FloatingPoint && return 3
T == Binary && return 4
T == Utf8 && return 5
T == Bool && return 6
T == Decimal && return 7
T == Date && return 8
T == Time && return 9
T == Timestamp && return 10
T == Interval && return 11
T == List && return 12
T == Struct && return 13
T == Union && return 14
T == FixedSizeBinary && return 15
T == FixedSizeList && return 16
T == Map && return 17
T == Duration && return 18
T == LargeBinary && return 19
T == LargeUtf8 && return 20
T == LargeList && return 21
return 0
end
struct KeyValue <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::KeyValue) = (:key, :value)
function Base.getproperty(x::KeyValue, field::Symbol)
if field === :key
o = FlatBuffers.offset(x, 4)
o != 0 && return String(x, o + FlatBuffers.pos(x))
elseif field === :value
o = FlatBuffers.offset(x, 6)
o != 0 && return String(x, o + FlatBuffers.pos(x))
end
return nothing
end
keyValueStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 2)
keyValueAddKey(b::FlatBuffers.Builder, key::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 0, key, 0)
keyValueAddValue(b::FlatBuffers.Builder, value::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 1, value, 0)
keyValueEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum DictionaryKind::Int16 DenseArray
struct DictionaryEncoding <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::DictionaryEncoding) = (:id, :indexType, :isOrdered, :dictionaryKind)
function Base.getproperty(x::DictionaryEncoding, field::Symbol)
if field === :id
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int64)
return Int64(0)
elseif field === :indexType
o = FlatBuffers.offset(x, 6)
if o != 0
y = FlatBuffers.indirect(x, o + FlatBuffers.pos(x))
return FlatBuffers.init(Int, FlatBuffers.bytes(x), y)
end
elseif field === :isOrdered
o = FlatBuffers.offset(x, 8)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Base.Bool)
return false
elseif field === :dictionaryKind
o = FlatBuffers.offset(x, 10)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), DictionaryKind)
end
return nothing
end
dictionaryEncodingStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 3)
dictionaryEncodingAddId(b::FlatBuffers.Builder, id::Int64) = FlatBuffers.prependslot!(b, 0, id, 0)
dictionaryEncodingAddIndexType(b::FlatBuffers.Builder, indextype::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 1, indextype, 0)
dictionaryEncodingAddIsOrdered(b::FlatBuffers.Builder, isordered::Base.Bool) = FlatBuffers.prependslot!(b, 1, isordered, 0)
dictionaryEncodingEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
struct Field <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Field) = (:name, :nullable, :type, :dictionary, :children, :custom_metadata)
function Base.getproperty(x::Field, field::Symbol)
if field === :name
o = FlatBuffers.offset(x, 4)
o != 0 && return String(x, o + FlatBuffers.pos(x))
elseif field === :nullable
o = FlatBuffers.offset(x, 6)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Base.Bool)
return false
elseif field === :type
o = FlatBuffers.offset(x, 8)
if o != 0
T = Type(FlatBuffers.get(x, o + FlatBuffers.pos(x), UInt8))
o = FlatBuffers.offset(x, 10)
pos = FlatBuffers.union(x, o)
if o != 0
return FlatBuffers.init(T, FlatBuffers.bytes(x), pos)
end
end
elseif field === :dictionary
o = FlatBuffers.offset(x, 12)
if o != 0
y = FlatBuffers.indirect(x, o + FlatBuffers.pos(x))
return FlatBuffers.init(DictionaryEncoding, FlatBuffers.bytes(x), y)
end
elseif field === :children
o = FlatBuffers.offset(x, 14)
if o != 0
return FlatBuffers.Array{Field}(x, o)
end
elseif field === :custom_metadata
o = FlatBuffers.offset(x, 16)
if o != 0
return FlatBuffers.Array{KeyValue}(x, o)
end
end
return nothing
end
fieldStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 7)
fieldAddName(b::FlatBuffers.Builder, name::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 0, name, 0)
fieldAddNullable(b::FlatBuffers.Builder, nullable::Base.Bool) = FlatBuffers.prependslot!(b, 1, nullable, false)
fieldAddTypeType(b::FlatBuffers.Builder, ::Core.Type{T}) where {T} = FlatBuffers.prependslot!(b, 2, Type(T), 0)
fieldAddType(b::FlatBuffers.Builder, type::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 3, type, 0)
fieldAddDictionary(b::FlatBuffers.Builder, dictionary::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 4, dictionary, 0)
fieldAddChildren(b::FlatBuffers.Builder, children::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 5, children, 0)
fieldStartChildrenVector(b::FlatBuffers.Builder, numelems) = FlatBuffers.startvector!(b, 4, numelems, 4)
fieldAddCustomMetadata(b::FlatBuffers.Builder, custommetadata::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 6, custommetadata, 0)
fieldStartCustomMetadataVector(b::FlatBuffers.Builder, numelems) = FlatBuffers.startvector!(b, 4, numelems, 4)
fieldEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)
FlatBuffers.@scopedenum Endianness::Int16 Little Big
struct Buffer <: FlatBuffers.Struct
bytes::Vector{UInt8}
pos::Base.Int
end
FlatBuffers.structsizeof(::Base.Type{Buffer}) = 16
Base.propertynames(x::Buffer) = (:offset, :length)
function Base.getproperty(x::Buffer, field::Symbol)
if field === :offset
return FlatBuffers.get(x, FlatBuffers.pos(x), Int64)
elseif field === :length
return FlatBuffers.get(x, FlatBuffers.pos(x) + 8, Int64)
end
return nothing
end
function createBuffer(b::FlatBuffers.Builder, offset::Int64, length::Int64)
FlatBuffers.prep!(b, 8, 16)
prepend!(b, length)
prepend!(b, offset)
return FlatBuffers.offset(b)
end
struct Schema <: FlatBuffers.Table
bytes::Vector{UInt8}
pos::Base.Int
end
Base.propertynames(x::Schema) = (:endianness, :fields, :custom_metadata)
function Base.getproperty(x::Schema, field::Symbol)
if field === :endianness
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Endianness)
elseif field === :fields
o = FlatBuffers.offset(x, 6)
if o != 0
return FlatBuffers.Array{Field}(x, o)
end
elseif field === :custom_metadata
o = FlatBuffers.offset(x, 8)
if o != 0
return FlatBuffers.Array{KeyValue}(x, o)
end
end
return nothing
end
schemaStart(b::FlatBuffers.Builder) = FlatBuffers.startobject!(b, 3)
schemaAddEndianness(b::FlatBuffers.Builder, endianness::Endianness) = FlatBuffers.prependslot!(b, 0, endianness, 0)
schemaAddFields(b::FlatBuffers.Builder, fields::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 1, fields, 0)
schemaStartFieldsVector(b::FlatBuffers.Builder, numelems) = FlatBuffers.startvector!(b, 4, numelems, 4)
schemaAddCustomMetadata(b::FlatBuffers.Builder, custommetadata::FlatBuffers.UOffsetT) = FlatBuffers.prependoffsetslot!(b, 2, custommetadata, 0)
schemaStartCustomMetadataVector(b::FlatBuffers.Builder, numelems) = FlatBuffers.startvector!(b, 4, numelems, 4)
schemaEnd(b::FlatBuffers.Builder) = FlatBuffers.endobject!(b)