Main data type enumeration.

Data types in this library are all logical. They can be expressed as either a primitive physical type (bytes or bits of some fixed size), a nested type consisting of other data types, or another data type (e.g. a timestamp encoded as an int64).

Note: Only non-negative enum values are written to an Arrow IPC payload.

The rest of the values are specified here so TypeScript can narrow the type signatures further beyond the base Arrow Types. The Arrow DataTypes include metadata like bitWidth that impact the type signatures of the values we accept and return.

For example, the Int8Vector reads 1-byte numbers from an Int8Array, an Int32Vector reads a 4-byte number from an Int32Array, and an Int64Vector reads a pair of 4-byte lo, hi 32-bit integers as a zero-copy slice from the underlying Int32Array.

Library consumers benefit by knowing the narrowest type, since we can ensure the types across all public methods are propagated, and never bail to any. These values are never used at runtime, and they will never be written to the flatbuffers metadata of serialized Arrow IPC payloads.

Enumeration Members

Binary: 4
Bool: 6
Date: 8
DateDay: -13
DateMillisecond: -14
Decimal: 7
DenseUnion: -23
Dictionary: -1
Duration: 18
DurationMicrosecond: -29
DurationMillisecond: -28
DurationNanosecond: -30
DurationSecond: -27
FixedSizeBinary: 15
FixedSizeList: 16
Float: 3
Float16: -10
Float32: -11
Float64: -12
Int: 2
Int16: -3
Int32: -4
Int64: -5
Int8: -2
Interval: 11
IntervalDayTime: -25
IntervalYearMonth: -26
LargeBinary: 19
LargeUtf8: 20
List: 12
Map: 17
Null: 1
SparseUnion: -24
Struct: 13
Time: 9
TimeMicrosecond: -21
TimeMillisecond: -20
TimeNanosecond: -22
TimeSecond: -19
Timestamp: 10
TimestampMicrosecond: -17
TimestampMillisecond: -16
TimestampNanosecond: -18
TimestampSecond: -15
Uint16: -7
Uint32: -8
Uint64: -9
Uint8: -6
Union: 14
Utf8: 5