UNPKG

flatgeobuf

Version:

A performant binary encoding for geographic data

2 lines 2.49 kB
import*as t from"flatbuffers";import{ColumnType as s}from"../flat-geobuf/column-type.js";export class Column{bb=null;bb_pos=0;__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsColumn(t,s){return(s||new Column).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsColumn(s,i){return s.setPosition(s.position()+t.SIZE_PREFIX_LENGTH),(i||new Column).__init(s.readInt32(s.position())+s.position(),s)}name(t){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.__string(this.bb_pos+s,t):null}type(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):s.Byte}title(t){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__string(this.bb_pos+s,t):null}description(t){let s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__string(this.bb_pos+s,t):null}width(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.readInt32(this.bb_pos+t):-1}precision(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.readInt32(this.bb_pos+t):-1}scale(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.readInt32(this.bb_pos+t):-1}nullable(){let t=this.bb.__offset(this.bb_pos,18);return!t||!!this.bb.readInt8(this.bb_pos+t)}unique(){let t=this.bb.__offset(this.bb_pos,20);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}primaryKey(){let t=this.bb.__offset(this.bb_pos,22);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}metadata(t){let s=this.bb.__offset(this.bb_pos,24);return s?this.bb.__string(this.bb_pos+s,t):null}static startColumn(t){t.startObject(11)}static addName(t,s){t.addFieldOffset(0,s,0)}static addType(t,i){t.addFieldInt8(1,i,s.Byte)}static addTitle(t,s){t.addFieldOffset(2,s,0)}static addDescription(t,s){t.addFieldOffset(3,s,0)}static addWidth(t,s){t.addFieldInt32(4,s,-1)}static addPrecision(t,s){t.addFieldInt32(5,s,-1)}static addScale(t,s){t.addFieldInt32(6,s,-1)}static addNullable(t,s){t.addFieldInt8(7,+s,1)}static addUnique(t,s){t.addFieldInt8(8,+s,0)}static addPrimaryKey(t,s){t.addFieldInt8(9,+s,0)}static addMetadata(t,s){t.addFieldOffset(10,s,0)}static endColumn(t){let s=t.endObject();return t.requiredField(s,4),s}static createColumn(t,s,i,e,b,d,n,a,o,l,r,_){return Column.startColumn(t),Column.addName(t,s),Column.addType(t,i),Column.addTitle(t,e),Column.addDescription(t,b),Column.addWidth(t,d),Column.addPrecision(t,n),Column.addScale(t,a),Column.addNullable(t,o),Column.addUnique(t,l),Column.addPrimaryKey(t,r),Column.addMetadata(t,_),Column.endColumn(t)}} //# sourceMappingURL=column.js.map