Spaces:
Sleeping
Sleeping
// automatically generated by the FlatBuffers compiler, do not modify | |
import { DictionaryBatch } from './dictionary-batch.js'; | |
import { RecordBatch } from './record-batch.js'; | |
import { Schema } from './schema.js'; | |
import { SparseTensor } from './sparse-tensor.js'; | |
import { Tensor } from './tensor.js'; | |
/** | |
* ---------------------------------------------------------------------- | |
* The root Message type | |
* This union enables us to easily send different message types without | |
* redundant storage, and in the future we can easily add new message types. | |
* | |
* Arrow implementations do not need to implement all of the message types, | |
* which may include experimental metadata types. For maximum compatibility, | |
* it is best to send data using RecordBatch | |
*/ | |
export enum MessageHeader{ | |
NONE = 0, | |
Schema = 1, | |
DictionaryBatch = 2, | |
RecordBatch = 3, | |
Tensor = 4, | |
SparseTensor = 5 | |
} | |
export function unionToMessageHeader( | |
type: MessageHeader, | |
accessor: (obj:DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor) => DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null | |
): DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null { | |
switch(MessageHeader[type]) { | |
case 'NONE': return null; | |
case 'Schema': return accessor(new Schema())! as Schema; | |
case 'DictionaryBatch': return accessor(new DictionaryBatch())! as DictionaryBatch; | |
case 'RecordBatch': return accessor(new RecordBatch())! as RecordBatch; | |
case 'Tensor': return accessor(new Tensor())! as Tensor; | |
case 'SparseTensor': return accessor(new SparseTensor())! as SparseTensor; | |
default: return null; | |
} | |
} | |
export function unionListToMessageHeader( | |
type: MessageHeader, | |
accessor: (index: number, obj:DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor) => DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null, | |
index: number | |
): DictionaryBatch|RecordBatch|Schema|SparseTensor|Tensor|null { | |
switch(MessageHeader[type]) { | |
case 'NONE': return null; | |
case 'Schema': return accessor(index, new Schema())! as Schema; | |
case 'DictionaryBatch': return accessor(index, new DictionaryBatch())! as DictionaryBatch; | |
case 'RecordBatch': return accessor(index, new RecordBatch())! as RecordBatch; | |
case 'Tensor': return accessor(index, new Tensor())! as Tensor; | |
case 'SparseTensor': return accessor(index, new SparseTensor())! as SparseTensor; | |
default: return null; | |
} | |
} | |