2025-04-08 10:22:30 +00:00
|
|
|
import type { DecodedArray, ParquetType } from 'hyparquet'
|
|
|
|
|
import type { KeyValue } from 'hyparquet/src/types.js' // TODO export from hyparquet
|
|
|
|
|
|
|
|
|
|
export interface ParquetWriteOptions {
|
|
|
|
|
writer: Writer
|
|
|
|
|
columnData: ColumnData[]
|
|
|
|
|
compressed?: boolean
|
|
|
|
|
statistics?: boolean
|
|
|
|
|
rowGroupSize?: number
|
|
|
|
|
kvMetadata?: KeyValue[]
|
|
|
|
|
}
|
2025-03-26 07:45:22 +00:00
|
|
|
|
|
|
|
|
export interface ColumnData {
|
|
|
|
|
name: string
|
|
|
|
|
data: DecodedArray
|
2025-03-28 23:13:27 +00:00
|
|
|
type?: ParquetType
|
2025-03-26 07:45:22 +00:00
|
|
|
}
|
2025-03-25 17:27:15 +00:00
|
|
|
|
|
|
|
|
export interface Writer {
|
|
|
|
|
buffer: ArrayBuffer
|
|
|
|
|
offset: number
|
2025-04-08 06:14:48 +00:00
|
|
|
view: DataView
|
|
|
|
|
ensure(size: number): void
|
|
|
|
|
finish(): void
|
2025-03-25 20:36:18 +00:00
|
|
|
getBuffer(): ArrayBuffer
|
2025-03-25 17:27:15 +00:00
|
|
|
appendUint8(value: number): void
|
|
|
|
|
appendUint32(value: number): void
|
2025-03-25 23:42:52 +00:00
|
|
|
appendInt32(value: number): void
|
|
|
|
|
appendInt64(value: bigint): void
|
2025-03-25 17:27:15 +00:00
|
|
|
appendFloat64(value: number): void
|
|
|
|
|
appendBuffer(buffer: ArrayBuffer): void
|
2025-03-26 03:15:14 +00:00
|
|
|
appendBytes(value: Uint8Array): void
|
2025-03-25 17:27:15 +00:00
|
|
|
appendVarInt(value: number): void
|
|
|
|
|
appendVarBigInt(value: bigint): void
|
|
|
|
|
}
|