parquets
Version:
TypeScript implementation of the Parquet file format, based on parquet.js
111 lines (110 loc) • 3.78 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/*
* Autogenerated by @creditkarma/thrift-typescript v3.7.2
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
*/
import * as thrift from "thrift";
import * as MicroSeconds from "./MicroSeconds";
import * as MilliSeconds from "./MilliSeconds";
export interface ITimeUnitArgs {
MILLIS?: MilliSeconds.MilliSeconds;
MICROS?: MicroSeconds.MicroSeconds;
}
export class TimeUnit {
public MILLIS?: MilliSeconds.MilliSeconds;
public MICROS?: MicroSeconds.MicroSeconds;
constructor(args?: ITimeUnitArgs) {
let _fieldsSet: number = 0;
if (args != null) {
if (args.MILLIS != null) {
_fieldsSet++;
this.MILLIS = args.MILLIS;
}
if (args.MICROS != null) {
_fieldsSet++;
this.MICROS = args.MICROS;
}
if (_fieldsSet > 1) {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.INVALID_DATA, "Cannot read a TUnion with more than one set value!");
}
else if (_fieldsSet < 1) {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.INVALID_DATA, "Cannot read a TUnion with no set value!");
}
}
}
public static fromMILLIS(MILLIS: MilliSeconds.MilliSeconds): TimeUnit {
return new TimeUnit({ MILLIS });
}
public static fromMICROS(MICROS: MicroSeconds.MicroSeconds): TimeUnit {
return new TimeUnit({ MICROS });
}
public write(output: thrift.TProtocol): void {
output.writeStructBegin("TimeUnit");
if (this.MILLIS != null) {
output.writeFieldBegin("MILLIS", thrift.Thrift.Type.STRUCT, 1);
this.MILLIS.write(output);
output.writeFieldEnd();
}
if (this.MICROS != null) {
output.writeFieldBegin("MICROS", thrift.Thrift.Type.STRUCT, 2);
this.MICROS.write(output);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
public static read(input: thrift.TProtocol): TimeUnit {
let _fieldsSet: number = 0;
let _returnValue: TimeUnit | null = null;
input.readStructBegin();
while (true) {
const ret: thrift.TField = input.readFieldBegin();
const fieldType: thrift.Thrift.Type = ret.ftype;
const fieldId: number = ret.fid;
if (fieldType === thrift.Thrift.Type.STOP) {
break;
}
switch (fieldId) {
case 1:
if (fieldType === thrift.Thrift.Type.STRUCT) {
_fieldsSet++;
const value_1: MilliSeconds.MilliSeconds = MilliSeconds.MilliSeconds.read(input);
_returnValue = TimeUnit.fromMILLIS(value_1);
}
else {
input.skip(fieldType);
}
break;
case 2:
if (fieldType === thrift.Thrift.Type.STRUCT) {
_fieldsSet++;
const value_2: MicroSeconds.MicroSeconds = MicroSeconds.MicroSeconds.read(input);
_returnValue = TimeUnit.fromMICROS(value_2);
}
else {
input.skip(fieldType);
}
break;
default: {
input.skip(fieldType);
}
}
input.readFieldEnd();
}
input.readStructEnd();
if (_fieldsSet > 1) {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.INVALID_DATA, "Cannot read a TUnion with more than one set value!");
}
else if (_fieldsSet < 1) {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.INVALID_DATA, "Cannot read a TUnion with no set value!");
}
if (_returnValue !== null) {
return _returnValue;
}
else {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, "Unable to read data for TUnion");
}
}
}