UNPKG

flatgeobuf

Version:

A performant binary encoding for geographic data

2 lines 3.67 kB
import*as t from"flatbuffers";import{Column as s}from"../flat-geobuf/column.js";import{Crs as e}from"../flat-geobuf/crs.js";import{GeometryType as i}from"../flat-geobuf/geometry-type.js";export class Header{bb=null;bb_pos=0;__init(t,s){return this.bb_pos=t,this.bb=s,this}static getRootAsHeader(t,s){return(s||new Header).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsHeader(s,e){return s.setPosition(s.position()+t.SIZE_PREFIX_LENGTH),(e||new Header).__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}envelope(t){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readFloat64(this.bb.__vector(this.bb_pos+s)+8*t):0}envelopeLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}envelopeArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Float64Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}geometryType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):i.Unknown}hasZ(){let t=this.bb.__offset(this.bb_pos,10);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasM(){let t=this.bb.__offset(this.bb_pos,12);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasT(){let t=this.bb.__offset(this.bb_pos,14);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}hasTm(){let t=this.bb.__offset(this.bb_pos,16);return!!t&&!!this.bb.readInt8(this.bb_pos+t)}columns(t,e){let i=this.bb.__offset(this.bb_pos,18);return i?(e||new s).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+4*t),this.bb):null}columnsLength(){let t=this.bb.__offset(this.bb_pos,18);return t?this.bb.__vector_len(this.bb_pos+t):0}featuresCount(){let t=this.bb.__offset(this.bb_pos,20);return t?this.bb.readUint64(this.bb_pos+t):BigInt("0")}indexNodeSize(){let t=this.bb.__offset(this.bb_pos,22);return t?this.bb.readUint16(this.bb_pos+t):16}crs(t){let s=this.bb.__offset(this.bb_pos,24);return s?(t||new e).__init(this.bb.__indirect(this.bb_pos+s),this.bb):null}title(t){let s=this.bb.__offset(this.bb_pos,26);return s?this.bb.__string(this.bb_pos+s,t):null}description(t){let s=this.bb.__offset(this.bb_pos,28);return s?this.bb.__string(this.bb_pos+s,t):null}metadata(t){let s=this.bb.__offset(this.bb_pos,30);return s?this.bb.__string(this.bb_pos+s,t):null}static startHeader(t){t.startObject(14)}static addName(t,s){t.addFieldOffset(0,s,0)}static addEnvelope(t,s){t.addFieldOffset(1,s,0)}static createEnvelopeVector(t,s){t.startVector(8,s.length,8);for(let e=s.length-1;e>=0;e--)t.addFloat64(s[e]);return t.endVector()}static startEnvelopeVector(t,s){t.startVector(8,s,8)}static addGeometryType(t,s){t.addFieldInt8(2,s,i.Unknown)}static addHasZ(t,s){t.addFieldInt8(3,+s,0)}static addHasM(t,s){t.addFieldInt8(4,+s,0)}static addHasT(t,s){t.addFieldInt8(5,+s,0)}static addHasTm(t,s){t.addFieldInt8(6,+s,0)}static addColumns(t,s){t.addFieldOffset(7,s,0)}static createColumnsVector(t,s){t.startVector(4,s.length,4);for(let e=s.length-1;e>=0;e--)t.addOffset(s[e]);return t.endVector()}static startColumnsVector(t,s){t.startVector(4,s,4)}static addFeaturesCount(t,s){t.addFieldInt64(8,s,BigInt("0"))}static addIndexNodeSize(t,s){t.addFieldInt16(9,s,16)}static addCrs(t,s){t.addFieldOffset(10,s,0)}static addTitle(t,s){t.addFieldOffset(11,s,0)}static addDescription(t,s){t.addFieldOffset(12,s,0)}static addMetadata(t,s){t.addFieldOffset(13,s,0)}static endHeader(t){return t.endObject()}static finishHeaderBuffer(t,s){t.finish(s)}static finishSizePrefixedHeaderBuffer(t,s){t.finish(s,void 0,!0)}} //# sourceMappingURL=header.js.map