parquets
Version:
TypeScript implementation of the Parquet file format, based on parquet.js
43 lines (42 loc) • 1.68 kB
TypeScript
/// <reference types="node" />
import fs = require('fs');
import { FileMetaData, PageHeader } from './thrift';
import { Writable } from 'stream';
export interface WriteStreamOptions {
flags?: string;
encoding?: string;
fd?: number;
mode?: number;
autoClose?: boolean;
start?: number;
}
/**
* Helper function that serializes a thrift object into a buffer
*/
export declare function serializeThrift(obj: any): Buffer;
export declare function decodeThrift(obj: any, buf: Buffer, offset?: number): number;
export declare function decodeFileMetadata(buf: Buffer, offset?: number): {
length: number;
metadata: FileMetaData;
};
export declare function decodePageHeader(buf: Buffer, offset?: number): {
length: number;
pageHeader: PageHeader;
};
/**
* Get the number of bits required to store a given value
*/
export declare function getBitWidth(val: number): number;
/**
* FIXME not ideal that this is linear
*/
export declare function getThriftEnum(klass: any, value: number | string): string;
export declare function fopen(filePath: string): Promise<number>;
export declare function fstat(filePath: string): Promise<fs.Stats>;
export declare function fread(fd: number, position: number, length: number): Promise<Buffer>;
export declare function fclose(fd: number): Promise<void>;
export declare function oswrite(os: Writable, buf: Buffer): Promise<void>;
export declare function osclose(os: Writable): Promise<void>;
export declare function osopen(path: string, opts: WriteStreamOptions): Promise<fs.WriteStream>;
export declare function fieldIndexOf(arr: string[][], elem: string[]): number;
export declare function load(name: string): any;