parquets
Version:
TypeScript implementation of the Parquet file format, based on parquet.js
89 lines (88 loc) • 2.69 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";
export interface IDecimalTypeArgs {
scale: number;
precision: number;
}
export class DecimalType {
public scale: number;
public precision: number;
constructor(args: IDecimalTypeArgs) {
if (args != null && args.scale != null) {
this.scale = args.scale;
}
else {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, "Required field[scale] is unset!");
}
if (args != null && args.precision != null) {
this.precision = args.precision;
}
else {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, "Required field[precision] is unset!");
}
}
public write(output: thrift.TProtocol): void {
output.writeStructBegin("DecimalType");
if (this.scale != null) {
output.writeFieldBegin("scale", thrift.Thrift.Type.I32, 1);
output.writeI32(this.scale);
output.writeFieldEnd();
}
if (this.precision != null) {
output.writeFieldBegin("precision", thrift.Thrift.Type.I32, 2);
output.writeI32(this.precision);
output.writeFieldEnd();
}
output.writeFieldStop();
output.writeStructEnd();
return;
}
public static read(input: thrift.TProtocol): DecimalType {
input.readStructBegin();
let _args: any = {};
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.I32) {
const value_1: number = input.readI32();
_args.scale = value_1;
}
else {
input.skip(fieldType);
}
break;
case 2:
if (fieldType === thrift.Thrift.Type.I32) {
const value_2: number = input.readI32();
_args.precision = value_2;
}
else {
input.skip(fieldType);
}
break;
default: {
input.skip(fieldType);
}
}
input.readFieldEnd();
}
input.readStructEnd();
if (_args.scale !== undefined && _args.precision !== undefined) {
return new DecimalType(_args);
}
else {
throw new thrift.Thrift.TProtocolException(thrift.Thrift.TProtocolExceptionType.UNKNOWN, "Unable to read DecimalType from input");
}
}
}